Spark Hire Interview Questions API

Questions within an interview and reusable question sets.

Business capability
Talent Acquisition Management BC-300.10

Operations 10

GET /interviews/{uuid}/questions List questions for an interview #
POST /interviews/{uuid}/questions Add a question to an interview #
GET /interviews/{uuid}/questions/{questionUuid} Get a question #
PUT /interviews/{uuid}/questions/{questionUuid} Update a question #
DELETE /interviews/{uuid}/questions/{questionUuid} Delete a question #
GET /question_sets List question sets #
POST /question_sets Create a question set #
GET /question_sets/{uuid} Get a question set #
PUT /question_sets/{uuid} Update a question set #
DELETE /question_sets/{uuid} Delete a question set #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spark-hire-interview-questions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

spark-hire-interview-questions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Spark Hire Interview Questions API
  description: The Spark Hire API embeds video interviewing and talent assessment into an applicant tracking system or custom hiring application.
  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
    QuestionSetInput:
      type: object
      properties:
        title:
          type: string
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionInput'
    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
  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.