### cURL Request Example
Source: https://ai-recruiter.micro1.ai/api-reference/getting-started/authentication
Demonstrates how to make a GET request to the interview endpoint using the 'x-api-key' header for authentication. This example shows a practical implementation of API key usage.
```Bash
curl -X GET https://public.api.micro1.ai/interview \
-H "x-api-key: YOUR_API_KEY"
```
--------------------------------
### Example Error Response
Source: https://ai-recruiter.micro1.ai/api-reference/getting-started/authentication
Provides an example of a JSON response received when an API request fails due to authentication issues. This helps developers understand and handle common error scenarios.
```JSON
{
"status": false,
"message": "Unauthorized: API key is missing or invalid."
}
```
--------------------------------
### GetJobApplicantInfoResponse API Schema and Example
Source: https://ai-recruiter.micro1.ai/api-reference/job-applicant/get-job-applicant-details
Defines the structure of the response for retrieving job applicant information, including personal details, job matching, and parsed resume data. This entry combines the OpenAPI schema definition with a concrete example of the response payload.
```APIDOC
title: GetJobApplicantInfoResponse
refIdentifier: '#/components/schemas/7f7aee23-0fcd-4da8-b1af-8fd16ed67e09'
# Schema Definition
GetJobApplicantInfoResponse:
type: object
properties:
status: { type: boolean, description: Indicates if the operation was successful }
message: { type: string, description: A message providing details about the operation's outcome }
data:
type: object
description: Contains the job applicant information if the operation was successful
properties:
job_applicant_id: { type: string, format: uuid, description: Unique identifier for the job applicant }
job_id: { type: string, format: uuid, description: Identifier for the job the applicant applied for }
job_title: { type: string, description: The title of the job }
first_name: { type: string, description: The applicant's first name }
last_name: { type: string, description: The applicant's last name }
email_id: { type: string, format: email, description: The applicant's email address }
phone_number: { type: string, description: The applicant's phone number }
phone_country_iso_code: { type: string, description: ISO 3166-1 alpha-2 country code for the phone number's region }
resume_url: { type: string, format: url, description: URL to the applicant's resume document }
linkedin_url: { type: string, format: url, description: URL to the applicant's LinkedIn profile }
source_name: { type: string, description: The source from which the applicant information was obtained (e.g., Linkedin) }
resume_score: { type: integer, description: A score representing the quality or relevance of the resume }
parsed_resume_data:
type: object
description: Structured data extracted from the applicant's resume
properties:
education:
type: array
description: List of educational qualifications
items:
type: object
properties:
major: { type: string, description: Field of study }
degree: { type: string, description: Awarded degree (e.g., Bachelor of Science) }
end_date: { type: string, format: date, nullable: true, description: Date of degree completion }
is_present: { type: boolean, description: Indicates if the education is currently ongoing }
start_date: { type: string, format: date, description: Date of commencement of studies }
university_name: { type: string, description: Name of the educational institution }
experience:
type: array
description: List of professional work experiences
items:
type: object
properties:
role: { type: string, description: Job title or role held }
end_date: { type: string, format: date, nullable: true, description: Date of employment end }
is_present: { type: boolean, description: Indicates if the employment is current }
start_date: { type: string, format: date, description: Date of employment commencement }
tech_stack:
type: array
description: List of technologies used in the role
items: { type: string }
company_name: { type: string, description: Name of the employer }
responsibilities: { type: string, description: Description of duties and achievements }
# Example Response Payload
examples:
example:
value:
status: true
message: "Success"
data:
job_applicant_id: "123e4567-e89b-12d3-a456-426614174000"
job_id: "123e4567-e89b-12d3-a456-426614174000"
job_title: "Full Stack Engineer"
first_name: "John"
last_name: "Doe"
email_id: "john.doe@micro1.ai"
phone_number: "+1234567890"
phone_country_iso_code: "US"
resume_url: "https://micro1.ai/resume/h0gqkAcaDJ.pdf"
linkedin_url: "https://www.linkedin.com/in/john-doe-1234567890"
source_name: "Linkedin"
resume_score: 85
parsed_resume_data:
education:
- major: "Computer Science"
degree: "Bachelor of Science"
end_date: "2022-06-30"
is_present: false
start_date: "2021-10-01"
university_name: "University of California, Los Angeles"
- major: "Computer Science"
degree: "Master of Science"
end_date: null
is_present: true
start_date: "2022-09-01"
university_name: "University of California, Los Angeles"
experience:
- role: "Software Engineer"
end_date: null
is_present: true
start_date: "2022-01-01"
tech_stack:
- "React.js"
- "Node.js"
- "Express.js"
- "MongoDB"
- "PostgreSQL"
- "Docker"
- "Kubernetes"
company_name: "micro1"
responsibilities: "
- Developed and maintained web applications using React.js and Node.js.
- Implemented RESTful APIs using Express.js and MongoDB.
- Collaborated with the development team to ensure the software met quality standards.
- Troubleshot test failures and identified root causes.
- Automated manual testing tasks.
"
```
--------------------------------
### HubSpot Cookie Banner Setup (JavaScript)
Source: https://www.micro1.ai/blog
Configures and displays the HubSpot cookie banner for GDPR and CCPA compliance. It handles user consent for cookies and tracking scripts.
```javascript
!function(t,e,r){if(!document.getElementById(t)){var n=document.createElement("script");for(var a in n.src="https://js.hs-banner.com/v2/24317846/banner.js",n.type="text/javascript",n.id=t,r)r.hasOwnProperty(a)&&n.setAttribute(a,r[a]);var i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(n,i)}}("cookieBanner-24317846",0,{"data-cookieconsent":"ignore","data-hs-ignore":true,"data-loader":"hs-scriptloader","data-hsjs-portal":24317846,"data-hsjs-env":"prod","data-hsjs-hublet":"na1"});
```
--------------------------------
### Interview API Responses
Source: https://ai-recruiter.micro1.ai/api-reference/interview/get-all-saved-interviews
Defines the structure and examples for successful retrieval of all interviews, as well as error responses for bad requests and internal server errors.
```APIDOC
GET /interviews
description: Successful response
content:
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: true
message:
allOf:
- type: string
description: A message indicating the outcome of the request
example: Interviews fetched successfully
data:
type: array
items:
type: object
properties:
interview_id:
type: string
description: Unique identifier for the interview
example: "123e4567-e89b-12d3-a456-426614174000"
interview_name:
type: string
description: Name of the interview
example: "Full Stack Engineer Interview"
invite_url:
type: string
description: URL to join the interview
example: "https://interview.micro1.ai/intro/micro1?uid=123e4567-e89b-12d3-a456-426614174000"
skills:
type: array
items:
type: object
properties:
name:
type: string
description: Name of the skill
example: "React"
description:
type: string
description: Description of the skill requirement
example: "Must be proficient in React Context API"
custom_questions:
type: array
items:
type: object
properties:
question:
type: string
description: The custom question text
example: "Where do you see yourself in 5 years?"
time:
type: integer
description: Time allocated for the question in seconds
example: 120
type:
type: string
description: Type of the question (e.g., audio, text)
example: "audio"
interview_language:
type: string
description: The language of the interview
example: "English"
can_change_interview_language:
type: boolean
description: Flag indicating if the interview language can be changed
example: false
only_coding_round:
type: boolean
description: Whether the interview is a coding round only
example: true
is_coding_round_required:
type: boolean
description: Whether the coding round is required
example: true
selected_coding_language:
type: string
description: The coding language selected for the coding round
example: "Python"
is_proctoring_required:
type: boolean
description: Whether proctoring is required for the interview
example: true
date_created:
type: string
description: Date the interview was created
example: '2021-01-01 00:00:00'
date_modified:
type: string
description: Date the interview was last modified
example: '2021-01-01 00:00:00'
status:
type: string
description: Current status of the interview
example: "active"
examples:
example:
value:
status: true
message: Interviews fetched successfully
data:
- interview_id: "123e4567-e89b-12d3-a456-426614174000"
interview_name: "Full Stack Engineer Interview"
invite_url: "https://interview.micro1.ai/intro/micro1?uid=123e4567-e89b-12d3-a456-426614174000"
skills:
- name: "React"
description: "Must be proficient in React Context API"
custom_questions:
- question: "Where do you see yourself in 5 years?"
time: 120
type: "audio"
interview_language: "English"
can_change_interview_language: false
only_coding_round: true
is_coding_round_required: true
selected_coding_language: "Python"
is_proctoring_required: true
date_created: '2021-01-01 00:00:00'
date_modified: '2021-01-01 00:00:00'
status: "active"
deprecated: false
type: path
components:
schemas:
GetAllInterviewsResponse:
title: GetAllInterviewsResponse
description: Response for getting all interviews
refIdentifier: '#/components/schemas/91b6ff3c-a379-441a-80fd-e0702f380868'
BadRequestResponse:
title: BadRequestResponse
description: Response for bad requests
refIdentifier: '#/components/schemas/a723c15a-c114-4141-9cd1-f5f16caf0153'
InternalServerErrorResponse:
title: InternalServerErrorResponse
description: Response for internal server error
refIdentifier: '#/components/schemas/ccce7343-b628-4661-8ade-5a1d51b601cd'
'400':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
message:
allOf:
- type: string
description: The error message
example: Invalid request
examples:
example:
value:
status: false
message: Invalid request
description: Bad Request
'500':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
examples:
example:
value:
status: false
description: Internal Server Error
```
--------------------------------
### Get Mock Interview Question API
Source: https://ai-recruiter.micro1.ai/api-reference/mock-interview/get-a-mock-interview
This API endpoint retrieves a sample interview question tailored to specific skills and their descriptions. It demonstrates how the AI generates interview questions based on input criteria, providing insights into the AI's question-tailoring capabilities.
```APIDOC
API Endpoint: /interview/question
Method: POST
Description: Retrieves a sample interview question based on provided skills and their descriptions.
Request Body:
{
"skills": [
{
"name": "string",
"description": "string"
}
]
}
Parameters:
- skills (array of objects): A list of skills for which to generate an interview question.
- name (string): The name of the skill.
- description (string): A brief description of the skill.
Response Body (Success):
{
"question": "string"
}
Returns:
- question (string): The generated sample interview question.
Example Usage:
POST /interview/question
Content-Type: application/json
{
"skills": [
{
"name": "Python",
"description": "Proficiency in Python programming language, including data structures and algorithms."
},
{
"name": "Machine Learning",
"description": "Experience with machine learning concepts, model training, and evaluation."
}
]
}
Response:
{
"question": "Describe a scenario where you used Python to implement a machine learning algorithm and explain the challenges you faced."
}
```
--------------------------------
### OpenAPI: POST /mock/interview Endpoint
Source: https://ai-recruiter.micro1.ai/api-reference/mock-interview/get-a-mock-interview
Details the OpenAPI specification for the POST /mock/interview endpoint. It includes request schema for skills, authentication via API key, and response schemas for success (200), bad request (400), and server errors (500), along with examples.
```yaml
paths:
path: /mock/interview
method: post
servers:
- url: https://public.api.micro1.ai
description: Production server
request:
security:
- title: apiKey
parameters:
query: {}
header:
x-api-key:
type: apiKey
description: API key to access the API
cookie: {}
parameters: {}
body:
application/json:
schemaArray:
- type: object
properties:
skills:
allOf:
- 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 mock interview (max 5)
example:
- name: React
description: Must be proficient in React Context API
required: false
title: GetMockInterviewRequest
description: Request to get a sample interview question
refIdentifier: '#/components/schemas/ab9f448a-a61d-4e9a-a73e-d3b722beaf99'
requiredProperties:
- skills
examples:
example:
value:
skills:
- name: React
description: Must be proficient in React Context API
description: Array of skills with name and description
response:
'200':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Status of the response
example: 'true'
message:
allOf:
- type: string
description: Message of the response
example: Sample interview question fetched successfully
data:
allOf:
- type: array
description: List of sample interview questions
items:
title: MockInterviewQuestion
description: Mock interview question object
type: object
properties:
skill:
type: string
description: Name of the skill
example: React
questions:
type: array
description: List of sample interview questions
items:
type: string
description: Sample interview question
example: What is React?
title: GetMockInterviewResponse
description: Response for getting a sample interview question
refIdentifier: '#/components/schemas/0277c091-5b07-43ac-a409-8bd86ca18dd1'
examples:
example:
value:
status: 'true'
message: Sample interview question fetched successfully
data:
- skill: React
questions:
- What is React?
description: Successful response
'400':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
message:
allOf:
- type: string
description: The error message
example: Invalid request
title: BadRequestResponse
description: Response for bad requests
refIdentifier: '#/components/schemas/5dd2e56c-0f21-40e5-9b91-63e1f2b41443'
examples:
example:
value:
status: false
message: Invalid request
description: Bad Request
'500':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
title: InternalServerErrorResponse
```
--------------------------------
### GET /webhooks API Endpoint
Source: https://ai-recruiter.micro1.ai/api-reference/webhook/get-all-webhooks
Fetches all configured webhooks from the /webhooks endpoint. Requires an API key for authentication. Returns a list of webhook objects on success (200), or error messages for bad requests (400) or server errors (500).
```APIDOC
paths:
path: /webhooks
method: get
servers:
- url: https://public.api.micro1.ai
description: Production server
request:
security:
- title: apiKey
parameters:
query: {}
header:
x-api-key:
type: apiKey
description: API key to access the API
cookie: {}
parameters: {}
body: {}
response:
'200':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Status of the response
example: 'true'
message:
allOf:
- type: string
description: Message of the response
example: Webhooks fetched successfully
data:
allOf:
- type: array
description: Data of the response
items:
title: Webhook
type: object
properties:
webhook_id:
type: string
description: ID of the webhook
example: 123e4567-e89b-12d3-a456-426614174000
url:
type: string
description: URL of the webhook
example: https://micro1.ai/webhook
description:
type: string
description: Description of the webhook
example: >-
Webhook to trigger when a interview report is
created
event:
type: string
description: Event that the webhook will trigger
example: interview_report.created
date_created:
type: string
description: Date and time when the webhook was created
example: '2021-01-01 00:00:00'
date_modified:
type: string
description: Date and time when the webhook was last modified
example: '2021-01-01 00:00:00'
status:
type: string
description: Status of the webhook
example: active
title: GetAllWebhooksResponse
refIdentifier: '#/components/schemas/d7dd7021-0d3d-43c9-9886-eb2ad4b4256f'
examples:
example:
value:
status: 'true'
message: Webhooks fetched successfully
data:
- webhook_id: 123e4567-e89b-12d3-a456-426614174000
url: https://micro1.ai/webhook
description: Webhook to trigger when a interview report is created
event: interview_report.created
date_created: '2021-01-01 00:00:00'
date_modified: '2021-01-01 00:00:00'
status: active
description: Successful response
'400':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
message:
allOf:
- type: string
description: The error message
example: Invalid request
title: BadRequestResponse
description: Response for bad requests
refIdentifier: '#/components/schemas/0167e107-f99c-4443-a1d5-94e6e8e1ea4d'
examples:
example:
value:
status: false
message: Invalid request
description: Bad Request
'500':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
title: InternalServerErrorResponse
description: Response for internal server error
refIdentifier: '#/components/schemas/e4cbe7ba-9776-486d-beb1-8b48a1d4e304'
examples:
example:
value:
status: false
description: Internal Server Error
deprecated: false
type: path
components:
schemas: {}
```
--------------------------------
### Initialize Amplitude Analytics
Source: https://www.micro1.ai/about-us
Initializes Amplitude analytics for the application. It dynamically selects the API key based on whether the environment is staging or production. This script requires the `window.amplitude` object to be available.
```javascript
document.addEventListener("DOMContentLoaded", () => { const isStaging = window.location.href.includes('webflow'); const key = isStaging ? 'eb414ea3d679ceb85e1de4aee5d82add' : '9981ec6ecc194b0c19bd3f0f5f856734'; window.amplitude?.init(key, {"autocapture":true}); });
```
--------------------------------
### Initialize Amplitude Analytics
Source: https://www.micro1.ai/blog
Initializes the Amplitude analytics SDK when the DOM is fully loaded. It dynamically selects an API key based on whether the current URL indicates a staging environment. This ensures proper tracking for different deployment stages.
```javascript
document.addEventListener("DOMContentLoaded", () => { const isStaging = window.location.href.includes('webflow'); const key = isStaging ? 'eb414ea3d679ceb85e1de4aee5d82add' : '9981ec6ecc194b0c19bd3f0f5f856734'; window.amplitude?.init(key, {"autocapture":true}); });
```
--------------------------------
### CSS: Typography, Focus, and Layout Utilities
Source: https://www.micro1.ai/blog
This CSS code provides a set of utility classes designed to enhance text rendering, manage focus states for accessibility, and control layout and spacing across different screen sizes. It includes rules for font smoothing, outline styles for keyboard navigation, and responsive hiding of elements.
```css
/* Make text look crisper and more legible in all browsers */
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
/* Focus state style for keyboard navigation for the focusable elements */
*\[tabindex\]:focus-visible, input\[type="file"]:focus-visible {
outline: 0.125rem solid #4d65ff;
outline-offset: 0.125rem;
}
/* Set color style to inherit */
.inherit-color *
{
color: inherit;
}
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext > :last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
margin-bottom: 0 !important;
}
/* Make sure containers never lose their center alignment */
.container-medium, .container-small, .container-large {
margin-right: auto !important;
margin-left: auto !important;
}
/* Make the following elements inherit typography styles from the parent and not have hardcoded values. Important: You will not be able to style for example "All Links" in Designer with this CSS applied. Uncomment this CSS to use it in the project. Leave this message for future hand-off. */
a, .w-input, .w-select, .w-tab-link, .w-nav-link, .w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
/* Apply "..." after 3 lines of text */
.text-style-3lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* These classes are never overwritten */
.hide {
display: none !important;
}
@media screen and (max-width: 991px) {
.hide, .hide-tablet {
display: none !important;
}
}
@media screen and (max-width: 767px) {
.hide-mobile-landscape {
display: none !important;
}
}
@media screen and (max-width: 479px) {
.hide-mobile {
display: none !important;
}
}
.margin-0 {
margin: 0rem !important;
}
.padding-0 {
padding: 0rem !important;
}
.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}
.margin-top {
margin-right: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-top {
padding-right: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-right {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-right {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-bottom {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-bottom {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-left: 0rem !important;
}
.margin-left {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-left {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-horizontal {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-horizontal {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-vertical {
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-vertical {
padding-right: 0rem !important;
padding-left: 0rem !imp
```
--------------------------------
### Get Interviews - OpenAPI Endpoint
Source: https://ai-recruiter.micro1.ai/api-reference/interview/get-all-saved-interviews
Defines the GET /interviews API endpoint for retrieving a list of interviews. It requires an API key for authentication and supports pagination and keyword filtering. The response includes interview details such as name, invite URL, skills, and custom questions.
```APIDOC
paths:
/interviews:
get:
summary: Retrieve a list of interviews
servers:
- url: https://public.api.micro1.ai
description: Production server
security:
- title: apiKey
parameters:
query: {}
header:
x-api-key:
type: apiKey
description: API key to access the API
cookie: {}
parameters:
query:
page:
schema:
type: integer
required: false
description: Page number
limit:
schema:
type: integer
required: false
description: Number of items per page
keyword:
schema:
type: string
required: false
description: Keyword to search for
responses:
'200':
description: A list of interviews
content:
application/json:
schema:
type: object
properties:
status:
type: boolean
description: Status of the response
example: true
message:
type: string
description: Message of the response
example: Interviews fetched successfully
data:
type: array
description: List of interviews
items:
$ref: '#/components/schemas/Interview'
components:
schemas:
Interview:
type: object
properties:
interview_id:
type: string
description: ID of the interview
example: 123e4567-e89b-12d3-a456-426614174000
interview_name:
type: string
description: Name of the interview
example: Full Stack Engineer Interview
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
skills:
type: array
description: Required skills for the interview
items:
type: object
properties:
name:
type: string
description: Name of the skill
example: React
description:
type: string
description: Description of the skill
example: Must be proficient in React Context API
example:
- name: React
description: Must be proficient in React Context API
custom_questions:
type: array
description: Custom questions for the interview
items:
type: object
description: Custom question for the interview
properties:
question:
type: string
description: The question for the interview
example: Where do you see yourself in 5 years?
time:
type: number
description: The time for the question in seconds
example: 120
type:
type: string
description: The type of the question
example: audio
enum:
- audio
- text
example:
- question: Where do you see yourself in 5 years?
time: 120
type: audio
interview_language:
type: string
description: Language of the interview
example: English
can_change_interview_language:
type: boolean
description: Whether the candidate can change the interview language
```
--------------------------------
### API Authentication and Introduction
Source: https://context7_llms
Information regarding API key acquisition and the general purpose of the micro1 AI Recruiter API.
```APIDOC
Authentication:
- Obtain API key from the micro1 dashboard.
Introduction:
- The micro1 AI Recruiter API enables generation of custom conversational interviews based on specified skills.
- It provides interview links and candidate invitation capabilities.
```
--------------------------------
### HubSpot Analytics Initialization (JavaScript)
Source: https://www.micro1.ai/blog
Initializes HubSpot Analytics for tracking website visitors and their behavior. It sets up the necessary scripts and configurations for HubSpot's tracking capabilities.
```javascript
!function(e,t){if(!document.getElementById(e)){var c=document.createElement("script");c.src="https://js.hs-analytics.net/analytics/1744829700000/24317846.js",c.type="text/javascript",c.id=e;var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}}("hs-analytics");
var _hsp = window._hsp = window._hsp || [];
_hsp.push(['addEnabledFeatureGates', []]);
_hsp.push(['setBusinessUnitId', 0]);
```
--------------------------------
### POST /webhook - Create AI Recruiter Webhook
Source: https://ai-recruiter.micro1.ai/api-reference/webhook/create-a-webhook
Sets up a webhook for the AI Recruiter to receive notifications. The endpoint is POST /webhook on https://public.api.micro1.ai. It requires an API key and accepts a JSON body with a destination URL and event type. Responses include success (200) with a webhook ID, bad request (400), or internal server error (500).
```APIDOC
paths:
path: /webhook
method: post
servers:
- url: https://public.api.micro1.ai
description: Production server
request:
security:
- title: apiKey
parameters:
query: {}
header:
x-api-key:
type: apiKey
description: API key to access the API
cookie: {}
parameters: {}
body:
application/json:
schemaArray:
- type: object
properties:
url:
allOf:
- type: string
description: Destination URL for the webhook
example: https://micro1.ai/webhook
description:
allOf:
- type: string
description: Description of the webhook
example: Webhook for interview reports
event:
allOf:
- type: string
description: Event to be sent to the webhook
enum:
- interview_report.created
- interview_recording.completed
required: false
title: CreateWebhookRequest
refIdentifier: '#/components/schemas/831865d7-8d79-49e8-be95-aba1b5d42db9'
requiredProperties:
- url
- event
examples:
example:
value:
url: https://micro1.ai/webhook
description: Webhook for interview reports
event: interview_report.created
description: Request body to create a webhook
response:
'200':
application/json:
schemaArray:
- type: object
properties:
id:
allOf:
- type: string
description: ID of the webhook
example: 123e4567-e89b-12d3-a456-426614174000
title: CreateWebhookResponse
refIdentifier: '#/components/schemas/8fe6fbb5-77f2-4b30-89f5-559adace4e3f'
examples:
example:
value:
id: 123e4567-e89b-12d3-a456-426614174000
description: Successful response
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: Bad Request
examples: {}
description: Bad Request
'500':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Whether the request was successful
example: false
title: InternalServerErrorResponse
description: Response for internal server error
refIdentifier: '#/components/schemas/4ad1423f-d571-4dc9-a6e2-88e9c052eaa0'
examples:
example:
value:
status: false
description: Internal Server Error
deprecated: false
type: path
components:
schemas: {}
```
--------------------------------
### Get Completed Reports API
Source: https://ai-recruiter.micro1.ai/api-reference/interview-reports/get-all-completed-reports
This endpoint retrieves reports for candidates who have completed their AI interviews. You can filter the reports by Interview ID, Candidate ID, or Report ID.
```APIDOC
GET /reports/completed
Description:
Retrieves reports for candidates who have completed their AI interviews.
Parameters:
- interviewId (string, optional): Filter reports by a specific Interview ID.
- candidateId (string, optional): Filter reports by a specific Candidate ID.
- reportId (string, optional): Filter reports by a specific Report ID.
Returns:
An array of report objects for completed interviews, potentially filtered by the provided IDs.
Each report object may contain details such as candidate information, interview results, and scores.
Example:
GET /reports/completed?candidateId=cand_12345
GET /reports/completed?interviewId=int_abcde&reportId=rep_xyz789
```
--------------------------------
### Get All Saved Interviews - AI Interviewer API
Source: https://ai-recruiter.micro1.ai/api-reference/interview/get-all-saved-interviews
Fetches all previously created and saved interviews. This endpoint is useful for retrieving a list of interviews, such as those for specific roles like Full Stack Engineer or LLM Engineer.
```APIDOC
GET /interviews
Description:
Retrieves a list of all saved interviews.
Purpose:
To fetch previously created and saved interview records, often categorized by roles.
Example Use Cases:
- Displaying a history of conducted interviews.
- Providing a selection of pre-defined interview templates.
Parameters:
None
Returns:
An array of interview objects, where each object contains details about a saved interview.
Example response structure:
[
{
"id": "interview-123",
"role": "Full Stack Engineer",
"title": "Senior Full Stack Engineer Interview",
"createdAt": "2023-10-27T10:00:00Z"
},
{
"id": "interview-456",
"role": "LLM Engineer",
"title": "Junior LLM Engineer Interview",
"createdAt": "2023-10-26T14:30:00Z"
}
]
Error Conditions:
- 500 Internal Server Error: If there is a problem fetching data from the database.
```
--------------------------------
### OpenAPI: GET /interview/reports
Source: https://ai-recruiter.micro1.ai/api-reference/interview-reports/get-all-completed-reports
Retrieves a list of interview reports. Supports filtering by keyword, interview ID, and candidate ID. The response includes report details, candidate information, and URLs for recordings and reports.
```APIDOC
paths:
path: /interview/reports
method: get
servers:
- url: https://public.api.micro1.ai
description: Production server
request:
security:
- title: apiKey
parameters:
query: {}
header:
x-api-key:
type: apiKey
description: API key to access the API
cookie: {}
parameters:
path: {}
query:
page:
schema:
- type: integer
required: false
description: Page number
limit:
schema:
- type: integer
required: false
description: Number of items per page
keyword:
schema:
- type: string
required: false
description: Keyword to search for
interview_id:
schema:
- type: string
required: false
description: ID of the interview
candidate_id:
schema:
- type: string
required: false
description: ID of the candidate
header: {}
cookie: {}
body: {}
response:
'200':
application/json:
schemaArray:
- type: object
properties:
status:
allOf:
- type: boolean
description: Status of the response
message:
allOf:
- type: string
description: Message of the response
data:
allOf:
- type: array
description: Data of the response
items:
title: Report
type: object
properties:
report_id:
type: string
description: ID of the report
example: h0gqkAcaDJ
interview_id:
type: string
description: ID of the interview
example: 123e4567-e89b-12d3-a456-426614174000
interview_name:
type: string
description: Name of the interview
example: Full Stack Engineer Interview
candidate_id:
type: string
description: ID of the candidate
example: 123e4567-e89b-12d3-a456-426614174000
job_applicant_id:
type: string
description: >-
Optional ID of the job applicant, present only if
linked to a job applicant
example: 123e4567-e89b-12d3-a456-426614174000
candidate_name:
type: string
description: Name of the candidate
example: John Doe
candidate_email_id:
type: string
description: Email of the candidate
example: john.doe@micro1.ai
report_date:
type: string
description: Date of the interview
example: '2024-01-01'
report_url:
type: string
description: URL of the report
example: https://micro1.ai/report/h0gqkAcaDJ.pdf
interview_recording_url:
type: string
description: >-
Direct URL of the interview recording. Use HLS (HTTP
Live Streaming) library to play the interview video
example: https://micro1.ai/interview/h0gqkAcaDJ.m3u8
interview_recording_player_url:
type: string
description: >-
URL to view the interview recording in micro1's web
player interface
example: >-
https://client.micro1.ai/ai-interview-video/abcxyz?id=123e4567-e89b-12d3-a456-426614174000
proctoring_score:
type: number
description: Proctoring score of the candidate
example: 85
ai_match_score:
type: number
description: AI match score of the candidate
example: 85
proctoring_violations:
```
--------------------------------
### API Response Schemas
Source: https://ai-recruiter.micro1.ai/api-reference/invite-candidate/get-all-invited-candidates
Defines the structure of API responses for different HTTP status codes, including error messages and success indicators. This section details the JSON schemas for '400 Bad Request' and '500 Internal Server Error' responses, providing examples for each.
```APIDOC
API Response Schemas:
400 Bad Request:
description: Bad Request
content:
application/json:
schema:
type: object
properties:
status:
type: boolean
description: Indicates if the request was successful.
example: false
message:
type: string
description: A message describing the error.
example: Invalid request
examples:
example:
value:
status: false
message: Invalid request
500 Internal Server Error:
description: Internal Server Error
content:
application/json:
schema:
type: object
properties:
status:
type: boolean
description: Indicates if the request was successful.
example: false
title: InternalServerErrorResponse
refIdentifier: '#/components/schemas/abc21929-8514-407c-a458-25bdac1c6c8f'
examples:
example:
value:
status: false
```