Spark Hire Interview Questions API
Questions within an interview and reusable question sets.
Questions within an interview and reusable question sets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/spark-hire-interview-questions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Spark Hire Account Interview Questions API
description: 'The Spark Hire API embeds video interviewing and talent assessment into an applicant tracking system or custom hiring application. It is a RESTful API with JSON responses served under https://api.sparkhire.com/v1.0. It manages jobs, one-way and live video interviews, interview questions and reusable question sets, company users (evaluators) and their integration API keys, candidate share links, and webhook subscriptions for interview and job lifecycle events.
Authentication uses HTTP Basic: the username is your API key and the password is ignored. API keys are tied to an individual user and respect that user''s permission level. API access is not self-serve - it must be enabled on your account by Spark Hire - but the API reference is fully public. Timestamps are RFC3339. Rate limit is 400 requests per minute; exceeding it returns 429 with an X-Rate-Limit-Try-Again-Seconds header.
Endpoint paths and behavior below are transcribed from the public Spark Hire API reference at https://docs.sparkhire.com/. Request and response schemas are honestly modeled from the documented resources; exercising them live requires API access enabled by Spark Hire.'
version: '1.0'
contact:
name: Spark Hire
url: https://www.sparkhire.com
servers:
- url: https://api.sparkhire.com/v1.0
description: Spark Hire API
security:
- basicAuth: []
tags:
- name: Interview Questions
description: Questions within an interview and reusable question sets.
paths:
/interviews/{uuid}/questions:
parameters:
- $ref: '#/components/parameters/Uuid'
get:
operationId: listInterviewQuestions
tags:
- Interview Questions
summary: List questions for an interview
responses:
'200':
description: A list of questions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Question'
post:
operationId: createInterviewQuestion
tags:
- Interview Questions
summary: Add a question to an interview
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionInput'
responses:
'201':
description: The created question.
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
/interviews/{uuid}/questions/{questionUuid}:
parameters:
- $ref: '#/components/parameters/Uuid'
- name: questionUuid
in: path
required: true
description: The UUID of the question.
schema:
type: string
format: uuid
get:
operationId: getInterviewQuestion
tags:
- Interview Questions
summary: Get a question
responses:
'200':
description: A question.
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateInterviewQuestion
tags:
- Interview Questions
summary: Update a question
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionInput'
responses:
'200':
description: The updated question.
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
delete:
operationId: deleteInterviewQuestion
tags:
- Interview Questions
summary: Delete a question
responses:
'204':
description: The question was deleted.
/question_sets:
get:
operationId: listQuestionSets
tags:
- Interview Questions
summary: List question sets
parameters:
- $ref: '#/components/parameters/Range'
- $ref: '#/components/parameters/OrderBy'
responses:
'200':
description: A list of question sets.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/QuestionSet'
post:
operationId: createQuestionSet
tags:
- Interview Questions
summary: Create a question set
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionSetInput'
responses:
'201':
description: The created question set.
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionSet'
/question_sets/{uuid}:
parameters:
- $ref: '#/components/parameters/Uuid'
get:
operationId: getQuestionSet
tags:
- Interview Questions
summary: Get a question set
responses:
'200':
description: A question set.
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionSet'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateQuestionSet
tags:
- Interview Questions
summary: Update a question set
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionSetInput'
responses:
'200':
description: The updated question set.
content:
application/json:
schema:
$ref: '#/components/schemas/QuestionSet'
delete:
operationId: deleteQuestionSet
tags:
- Interview Questions
summary: Delete a question set
responses:
'204':
description: The question set was deleted.
components:
parameters:
Uuid:
name: uuid
in: path
required: true
description: The UUID of the resource.
schema:
type: string
format: uuid
Range:
name: range
in: query
required: false
description: Pagination range, e.g. 1-20 or 10-30.
schema:
type: string
example: 1-20
OrderBy:
name: orderby
in: query
required: false
description: Sort order, e.g. title_asc or updated_desc.
schema:
type: string
example: updated_desc
schemas:
Question:
allOf:
- $ref: '#/components/schemas/QuestionInput'
- type: object
properties:
uuid:
type: string
format: uuid
QuestionSet:
allOf:
- $ref: '#/components/schemas/QuestionSetInput'
- type: object
properties:
uuid:
type: string
format: uuid
created_at:
type: string
format: date-time
Error:
type: object
properties:
error:
type: string
message:
type: string
QuestionInput:
type: object
properties:
text:
type: string
description: The question prompt shown to the candidate.
type:
type: string
description: Answer format, e.g. video, text, or multiple_choice.
think_time:
type: integer
description: Seconds the candidate has to prepare.
response_time:
type: integer
description: Seconds allotted for the candidate's response.
order:
type: integer
QuestionSetInput:
type: object
properties:
title:
type: string
questions:
type: array
items:
$ref: '#/components/schemas/QuestionInput'
responses:
NotFound:
description: The resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication. The username is your Spark Hire API key; the password is ignored. Keys are scoped to a user and respect that user's permission level.