Overview

Whereas the default AI Apply API is a block-based format designed to render sections and structure as they appear in the remote job posting, the alternate Unified API variant matches Kombo’s core philosophy of hiding standard fields and allowing you to provide them via standardized API fields on top of the screening question answers.

Why use this API?

For existing Kombo customers, this is the fastest way to test AI Apply. Your existing screening question rendering and submission logic will work without modification, as the API response schema is identical.
Make sure to understand the differences between the two AI Apply APIs before choosing one. The default AI Apply API can be found here.

Which API Should You Use?

We recommend the standard AI Apply API for new integrations—it preserves sections and context, helping candidates better understand questions. Both APIs support pre-filling data via unified keys. Use this Unified API variant primarily if you’re an existing Kombo customer wanting compatibility with your current integration. Note that filtering standard fields may result in a list of screening questions that miss context (e.g. the standard FIRST_NAME and LAST_NAME fields are filtered out, leaving an ambiguous middle name question which is not unified).

How It Works

Fields that would usually be tagged by unified_key in the standard API (e.g. FIRST_NAME) are filtered out and instead provided via the candidate object (e.g. candidate.first_name). Currently, the following fields are filtered out by default:
  • Name fields (FIRST_NAME, LAST_NAME, FULL_NAME) → Provided via candidate.first_name and candidate.last_name
  • Email (EMAIL) → Provided via candidate.email_address
  • Phone (PHONE_* fields) → Provided via candidate.phone_number as international format
  • Resume (RESUME) → Provided via attachments with type CV
When you fetch jobs, these fields are automatically removed from the screening questions.
The filtered fields are configurable to suit your product’s need. E.g. if you only collect first name and last name, you can configure the API to only filter out the FIRST_NAME, LAST_NAME, FULL_NAME fields, while the remaining fields are provided via the screening_question_answers field.Reach out to us for setting this up.

API Endpoints

Get Jobs

Use the GET jobs to retrieve an array of jobs and their screening questions (with unified fields filtered out as described above).

Create Applications

Submit applications using the POST applications endpoint. The filtered fields must be provided via the candidate/attachments object as described above, with remaining screening questions in the screening_question_answers array.

Example Submission

{
  "candidate": {
    "first_name": "John", // Used for fields of type `FIRST_NAME`, `FULL_NAME`
    "last_name": "Doe", // Used for fields of type `LAST_NAME`, `FULL_NAME`
    "email_address": "john.doe@example.com", // Used for fields of type `EMAIL`
    "phone_number": "+12345678900" // Used for fields of type `PHONE_*`
  },
  "attachments": [
    {
      "data_url": "https://example.com/resume.pdf", // Used for fields of type `RESUME`
      "name": "John Doe's Resume",
      "type": "CV"
    }
  ],
  // Screening questions are provided as-usual for any non-filtered fields
  "screening_question_answers": [
    {
      "question_id": "1",
      "answer": "I've been working as a software engineer for the past 10 years."
    },
    {
      "question_id": "2",
      "answer": "I am allowed to work in the US."
    }
  ]
}

Ready to start using AI Apply?

Getting started with AI Apply is straightforward. Here’s what you need to do:
  1. Parse your job postings: Send the URLs of jobs you want to enable AI Apply for to the parse job postings endpoint.
  2. Retrieve screening questions: Continue using the standard Unified API get jobs endpoint in addition to the AI Apply-compatible get jobs endpoint to retrieve the jobs from both APIs.
  3. Submit applications: For jobs that you have parsed via AI Apply, use the AI Apply-compatible create application endpoint instead of the standard create application endpoint.