### 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: "" ``` -------------------------------- ### 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 ```