> ## Documentation Index
> Fetch the complete documentation index at: https://ai-recruiter.micro1.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new interview

> This endpoint creates a new interview, returns a unique interview ID and a corresponding interview URL. You can send this URL to candidates, add it to a job post or alternatively, use the invite candidate endpoint to send invitations for the interview.



## OpenAPI

````yaml post /interview
openapi: 3.0.3
info:
  title: micro1 Public API
  description: micro1 ai-interview platform public API
  version: 1.0.0
  termsOfService: https://www.micro1.ai/terms-conditions
  contact:
    name: micro1 API Support
    url: https://www.micro1.ai
    email: support@micro1.ai
servers:
  - url: https://public.api.micro1.ai
    description: Production server
security:
  - apiKey: []
paths:
  /interview:
    post:
      tags:
        - Interview
      summary: Create a new interview
      description: >-
        This endpoint creates a new interview, returns a unique interview ID and
        a corresponding interview URL. You can send this URL to candidates, add
        it to a job post or alternatively, use the invite candidate endpoint to
        send invitations for the interview.
      operationId: aiInterviewer
      parameters: []
      requestBody:
        description: Request body to create an interview
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/1c4bf13b-ae82-4085-9b3e-e87c2c62fb92'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/90a13fb4-c47a-4041-91de-075985b6d787'
          headers:
            Access-Control-Allow-Origin:
              description: >-
                The Access-Control-Allow-Origin response header indicates
                whether the response can be shared with requesting code from the
                given
                [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin).
                - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Origin'
            Access-Control-Allow-Credentials:
              description: >-
                The Access-Control-Allow-Credentials response header tells
                browsers whether to expose the response to the frontend
                JavaScript code when the request's credentials mode
                ([Request.credentials](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials))
                is include. - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Credentials'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/b94b355b-60c8-4422-8bad-e5c028d564c2'
          headers:
            Access-Control-Allow-Origin:
              description: >-
                The Access-Control-Allow-Origin response header indicates
                whether the response can be shared with requesting code from the
                given
                [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin).
                - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Origin'
            Access-Control-Allow-Credentials:
              description: >-
                The Access-Control-Allow-Credentials response header tells
                browsers whether to expose the response to the frontend
                JavaScript code when the request's credentials mode
                ([Request.credentials](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials))
                is include. - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Credentials'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/890496ef-5475-45d1-a79c-090267478eb3'
          headers:
            Access-Control-Allow-Origin:
              description: >-
                The Access-Control-Allow-Origin response header indicates
                whether the response can be shared with requesting code from the
                given
                [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin).
                - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Origin'
            Access-Control-Allow-Credentials:
              description: >-
                The Access-Control-Allow-Credentials response header tells
                browsers whether to expose the response to the frontend
                JavaScript code when the request's credentials mode
                ([Request.credentials](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials))
                is include. - [MDN
                Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials)
              schema:
                $ref: '#/components/schemas/Access-Control-Allow-Credentials'
      security:
        - apiKey: []
components:
  schemas:
    1c4bf13b-ae82-4085-9b3e-e87c2c62fb92:
      title: CreateInterviewRequest
      description: Request to create an interview
      type: object
      required:
        - interview_name
      properties:
        interview_name:
          type: string
          description: Name of the interview
          example: Full Stack Engineer Interview
        skills:
          type: array
          items:
            type: object
            required:
              - name
            properties:
              name:
                type: string
                description: Name of the skill
                example: React
              description:
                type: string
                description: More information about the skill
                example: Must be proficient in React Context API
          description: Required skills for the interview (max 10)
          example:
            - name: React
              description: Must be proficient in React Context API
        custom_question_list:
          type: array
          items:
            type: object
            properties:
              question:
                type: string
                description: The question to ask the candidate
                example: What are your strengths and weaknesses?
              time:
                type: number
                description: The time limit for the question in minutes (min 1, max 4)
                example: 2
              type:
                type: string
                description: The type of question
                example: audio
                enum:
                  - audio
                  - text
          description: Custom questions for the interview (max 20)
          example:
            - question: What are your strengths and weaknesses?
              time: 2
              type: audio
        interview_language:
          type: string
          description: The language in which the AI interview will be conducted
          default: en
          example: en
          enum:
            - en
            - fr
            - de
            - he
            - hi
            - pt
            - es
            - es-la
            - tr
            - ja
            - sv
            - ar
            - pl
            - dk
            - kr
            - it
            - nl
            - cz
            - ua
            - ur
            - id
            - en-GB
            - es-MX
            - cn
            - zh-CN
            - zh-TW
            - zh-HK
            - ru
            - bn
            - ms
            - pt-BR
            - vi
            - tl
            - th
            - afb
            - pt-PT
        can_change_interview_language:
          type: boolean
          description: Whether the candidate can change the language
          default: false
        only_coding_round:
          type: boolean
          description: Whether the interview is a coding round only
          default: false
        is_coding_round_required:
          type: boolean
          description: ​​Whether the coding round is required
          default: false
        selected_coding_language:
          type: string
          description: The coding language for the coding round
          example: python
          default: user_choice
          enum:
            - user_choice
            - javascript
            - cpp
            - c
            - csharp
            - go
            - java
            - kotlin
            - php
            - python
            - ruby
            - rust
            - swift
            - typescript
        coding_exercise_details:
          type: string
          description: >-
            Add more details to tailor the coding exercise (optional) - Note:
            The candidate won't be able to use outside libraries.
          example: >-
            Make the DSA problem extremely difficult and focus on a problem that
            will require recursion to solve efficiently.
        is_proctoring_required:
          type: boolean
          description: Whether the proctoring is required
          default: true
    90a13fb4-c47a-4041-91de-075985b6d787:
      title: CreateInterviewResponse
      description: Response for creating an interview
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request was successful
          example: true
        message:
          type: string
          description: The message for the response
          example: Interview created successfully
        data:
          type: object
          description: Interview details
          properties:
            interview_id:
              type: string
              description: Unique identifier for the interview
              example: 123e4567-e89b-12d3-a456-426614174000
            invite_url:
              type: string
              description: The URL to invite the candidates to the interview
              example: >-
                https://interview.micro1.ai/intro/micro1?uid=123e4567-e89b-12d3-a456-426614174000
    Access-Control-Allow-Origin:
      type: string
      default: '*'
      example: https://developer.mozilla.org
    Access-Control-Allow-Credentials:
      type: boolean
      default: true
    b94b355b-60c8-4422-8bad-e5c028d564c2:
      title: BadRequestResponse
      description: Response for bad requests
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request was successful
          example: false
        message:
          type: string
          description: The error message
          example: Invalid request
    890496ef-5475-45d1-a79c-090267478eb3:
      title: InternalServerErrorResponse
      description: Response for internal server error
      type: object
      properties:
        status:
          type: boolean
          description: Whether the request was successful
          example: false
  securitySchemes:
    apiKey:
      description: API key to access the API
      type: apiKey
      name: x-api-key
      in: header

````