> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get job postings with application forms

> Get job postings together with their application form and a reusable submission token. Postings that are not applyable return `null` for both. To fetch a single form with a single-use token at the moment a candidate applies, use the POST /postings/:id/inquire endpoint instead.



## OpenAPI

````yaml GET /ai-apply/postings/forms
openapi: 3.1.0
info:
  title: Kombo API
  version: 1.0.0
servers:
  - url: https://api.kombo.dev/v1
    description: Kombo EU API
  - url: https://api.us.kombo.dev/v1
    description: Kombo US API
security:
  - ApiKey: []
tags:
  - name: General
  - name: Kombo Connect
    description: >-
      Endpoints for Kombo Connect, our end-user-facing flow for setting up new
      integrations.
  - name: Unified HRIS API
    description: Unified endpoints to access all the HR concepts you might need.
  - name: Unified ATS API
    description: Unified endpoints to access all the ATS concepts you might need.
  - name: Unified ATS (Assessment & Background Check) API
    description: >-
      Unified endpoints to operate Assessments and Background Checks for many
      applicant tracking systems.
  - name: Unified LMS API
    description: Unified endpoints to access all the LMS concepts you might need.
  - name: AI Apply
    description: Endpoints for AI-powered job application features.
  - name: Custom Endpoints
    description: Custom integration-specific endpoints.
paths:
  /ai-apply/postings/forms:
    get:
      tags:
        - AI Apply
      summary: Get job postings with application forms
      description: >-
        Get job postings together with their application form and a reusable
        submission token. Postings that are not applyable return `null` for
        both. To fetch a single form with a single-use token at the moment a
        candidate applies, use the POST /postings/:id/inquire endpoint instead.
      operationId: GetAiApplyPostingsForms
      parameters:
        - name: cursor
          in: query
          required: false
          description: >-
            An optional cursor string used for pagination. This can be retrieved
            from the `next` property of the previous page response.
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterCursor'
        - name: page_size
          in: query
          required: false
          description: The number of results to return per page. Maximum is 5.
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterPageSize'
        - name: ids
          in: query
          required: false
          description: GET /ai-apply/postings/forms Parameter
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterIds'
        - name: career_site_ids
          in: query
          required: false
          description: GET /ai-apply/postings/forms Parameter
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterCareerSiteIds'
        - name: job_codes
          in: query
          required: false
          description: GET /ai-apply/postings/forms Parameter
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterJobCodes'
        - name: updated_after
          in: query
          required: false
          description: >-
            Filter records whose `updated_at` is on or after this timestamp, in
            format `YYYY-MM-DDTHH:mm:ss.sssZ`. The comparison is inclusive
            (`updated_at >= updated_after`).


            `updated_at` only moves on customer-facing changes, so it is stable
            for incremental polling. For job postings that includes
            availability, archival, URL, job code, and the current form
            revision. For applications that includes status, candidate email,
            and the linked job posting.
          schema:
            $ref: '#/components/schemas/GetAiApplyPostingsFormsParameterUpdatedAfter'
      responses:
        '200':
          description: GET /ai-apply/postings/forms Positive response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAiApplyPostingsFormsPositiveResponse'
        default:
          $ref: '#/components/responses/ErrorResponseAiApply'
components:
  schemas:
    GetAiApplyPostingsFormsParameterCursor:
      type: string
      description: >-
        An optional cursor string used for pagination. This can be retrieved
        from the `next` property of the previous page response.
    GetAiApplyPostingsFormsParameterPageSize:
      type: integer
      format: int64
      minimum: 1
      maximum: 5
      default: 5
      description: The number of results to return per page. Maximum is 5.
    GetAiApplyPostingsFormsParameterIds:
      type: string
    GetAiApplyPostingsFormsParameterCareerSiteIds:
      type: string
    GetAiApplyPostingsFormsParameterJobCodes:
      type: string
    GetAiApplyPostingsFormsParameterUpdatedAfter:
      description: >-
        Filter records whose `updated_at` is on or after this timestamp, in
        format `YYYY-MM-DDTHH:mm:ss.sssZ`. The comparison is inclusive
        (`updated_at >= updated_after`).


        `updated_at` only moves on customer-facing changes, so it is stable for
        incremental polling. For job postings that includes availability,
        archival, URL, job code, and the current form revision. For applications
        that includes status, candidate email, and the linked job posting.
      type: string
      format: date-time
      pattern: ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$
      externalDocs:
        url: >-
          https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
    GetAiApplyPostingsFormsPositiveResponse:
      type: object
      properties:
        status:
          type: string
          const: success
        data:
          type: object
          properties:
            results:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: >-
                      The globally unique ID of this object generated by Kombo.
                      We recommend using this as a stable primary key for
                      syncing.
                  career_site:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The globally unique ID of this object generated by
                          Kombo. We recommend using this as a stable primary key
                          for syncing.
                      label:
                        type: string
                    required:
                      - id
                      - label
                  url:
                    type: string
                  job_code:
                    type:
                      - string
                      - 'null'
                  created_at:
                    description: YYYY-MM-DDTHH:mm:ss.sssZ
                    type: string
                    format: date-time
                    externalDocs:
                      url: >-
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                  updated_at:
                    description: YYYY-MM-DDTHH:mm:ss.sssZ
                    type: string
                    format: date-time
                    externalDocs:
                      url: >-
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                  archived_at:
                    description: YYYY-MM-DDTHH:mm:ss.sssZ
                    type:
                      - string
                      - 'null'
                    format: date-time
                    externalDocs:
                      url: >-
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
                  archived_reason:
                    type:
                      - string
                      - 'null'
                    enum:
                      - JOB_POSTING_TAKEN_OFFLINE
                      - MANUAL_ARCHIVE
                      - REMOVED_FROM_JOB_FEED
                  availability:
                    type: string
                    enum:
                      - APPLYABLE
                      - PENDING
                      - ARCHIVED
                      - UNAVAILABLE
                  application_form:
                    type:
                      - array
                      - 'null'
                    items:
                      anyOf:
                        - type: object
                          properties:
                            block_type:
                              type: string
                              const: QUESTION
                            question_id:
                              type: string
                              description: >-
                                The globally unique ID of this object generated
                                by Kombo. We recommend using this as a stable
                                primary key for syncing.
                            label:
                              type: string
                            description:
                              type:
                                - string
                                - 'null'
                            required:
                              type: boolean
                            category:
                              oneOf:
                                - type: string
                                  enum:
                                    - EEO
                                - type: 'null'
                            question_type:
                              type: string
                              enum:
                                - TEXT
                                - NUMBER
                                - BOOLEAN
                                - FILE
                                - DATE
                                - SINGLE_SELECT
                                - MULTI_SELECT
                            unified_key:
                              type:
                                - string
                                - 'null'
                              enum:
                                - EMAIL
                                - RESIDENCE_TYPE
                                - RESIDENCE_FULL_STRING
                                - RESIDENCE_COUNTRY
                                - RESIDENCE_CITY
                                - RESIDENCE_STATE
                                - RESIDENCE_LINE_1
                                - RESIDENCE_LINE_2
                                - RESIDENCE_ZIP_CODE
                                - APPLICANT_POOL_CONSENT
                                - TERMS_AND_CONDITIONS
                                - FIRST_NAME
                                - LAST_NAME
                                - FULL_NAME
                                - GENDER
                                - EXPECTED_START_DATE
                                - RESUME
                                - BIRTH_DATE
                                - PHONE_NUMBER_TYPE
                                - FULL_PHONE_NUMBER
                                - PHONE_COUNTRY_CODE
                                - PHONE_NATIONAL_NUMBER
                                - PHONE_EXTENSION
                            options:
                              type:
                                - array
                                - 'null'
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The globally unique ID of this object
                                      generated by Kombo. We recommend using
                                      this as a stable primary key for syncing.
                                  label:
                                    type: string
                                  unified_key:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - HOME
                                      - WORK
                                      - MAILING
                                      - AD
                                      - AE
                                      - AF
                                      - AG
                                      - AI
                                      - AL
                                      - AM
                                      - AO
                                      - AQ
                                      - AR
                                      - AS
                                      - AT
                                      - AU
                                      - AW
                                      - AX
                                      - AZ
                                      - BA
                                      - BB
                                      - BD
                                      - BE
                                      - BF
                                      - BG
                                      - BH
                                      - BI
                                      - BJ
                                      - BL
                                      - BM
                                      - BN
                                      - BO
                                      - BQ
                                      - BR
                                      - BS
                                      - BT
                                      - BV
                                      - BW
                                      - BY
                                      - BZ
                                      - CA
                                      - CC
                                      - CD
                                      - CF
                                      - CG
                                      - CH
                                      - CI
                                      - CK
                                      - CL
                                      - CM
                                      - CN
                                      - CO
                                      - CR
                                      - CU
                                      - CV
                                      - CW
                                      - CX
                                      - CY
                                      - CZ
                                      - DE
                                      - DJ
                                      - DK
                                      - DM
                                      - DO
                                      - DZ
                                      - EC
                                      - EE
                                      - EG
                                      - EH
                                      - ER
                                      - ES
                                      - ET
                                      - FI
                                      - FJ
                                      - FK
                                      - FM
                                      - FO
                                      - FR
                                      - GA
                                      - GB
                                      - GD
                                      - GE
                                      - GF
                                      - GG
                                      - GH
                                      - GI
                                      - GL
                                      - GM
                                      - GN
                                      - GP
                                      - GQ
                                      - GR
                                      - GS
                                      - GT
                                      - GU
                                      - GW
                                      - GY
                                      - HK
                                      - HM
                                      - HN
                                      - HR
                                      - HT
                                      - HU
                                      - ID
                                      - IE
                                      - IL
                                      - IM
                                      - IN
                                      - IO
                                      - IQ
                                      - IR
                                      - IS
                                      - IT
                                      - JE
                                      - JM
                                      - JO
                                      - JP
                                      - KE
                                      - KG
                                      - KH
                                      - KI
                                      - KM
                                      - KN
                                      - KP
                                      - KR
                                      - KW
                                      - KY
                                      - KZ
                                      - LA
                                      - LB
                                      - LC
                                      - LI
                                      - LK
                                      - LR
                                      - LS
                                      - LT
                                      - LU
                                      - LV
                                      - LY
                                      - MA
                                      - MC
                                      - MD
                                      - ME
                                      - MF
                                      - MG
                                      - MH
                                      - MK
                                      - ML
                                      - MM
                                      - MN
                                      - MO
                                      - MP
                                      - MQ
                                      - MR
                                      - MS
                                      - MT
                                      - MU
                                      - MV
                                      - MW
                                      - MX
                                      - MY
                                      - MZ
                                      - NA
                                      - NC
                                      - NE
                                      - NF
                                      - NG
                                      - NI
                                      - NL
                                      - 'NO'
                                      - NP
                                      - NR
                                      - NU
                                      - NZ
                                      - OM
                                      - PA
                                      - PE
                                      - PF
                                      - PG
                                      - PH
                                      - PK
                                      - PL
                                      - PM
                                      - PN
                                      - PR
                                      - PS
                                      - PT
                                      - PW
                                      - PY
                                      - QA
                                      - RE
                                      - RO
                                      - RS
                                      - RU
                                      - RW
                                      - SA
                                      - SB
                                      - SC
                                      - SD
                                      - SE
                                      - SG
                                      - SH
                                      - SI
                                      - SJ
                                      - SK
                                      - SL
                                      - SM
                                      - SN
                                      - SO
                                      - SR
                                      - SS
                                      - ST
                                      - SV
                                      - SX
                                      - SY
                                      - SZ
                                      - TC
                                      - TD
                                      - TF
                                      - TG
                                      - TH
                                      - TJ
                                      - TK
                                      - TL
                                      - TM
                                      - TN
                                      - TO
                                      - TR
                                      - TT
                                      - TV
                                      - TW
                                      - TZ
                                      - UA
                                      - UG
                                      - UM
                                      - US
                                      - UY
                                      - UZ
                                      - VA
                                      - VC
                                      - VE
                                      - VG
                                      - VI
                                      - VN
                                      - VU
                                      - WF
                                      - WS
                                      - YE
                                      - YT
                                      - ZA
                                      - ZM
                                      - ZW
                                      - MALE
                                      - FEMALE
                                      - NON_BINARY
                                      - NOT_SPECIFIED
                                      - MOBILE
                                      - LANDLINE
                                      - SOURCE_OTHER
                                      - SOURCE_OTHER_JOB_BOARD
                                required:
                                  - id
                                  - label
                                  - unified_key
                            display_when:
                              type:
                                - object
                                - 'null'
                              properties:
                                question_id:
                                  type: string
                                  description: >-
                                    The globally unique ID of this object
                                    generated by Kombo. We recommend using this
                                    as a stable primary key for syncing.
                                answer_equals:
                                  oneOf:
                                    - type: string
                                      description: >-
                                        Answer to a `TEXT` question, the option
                                        ID of the answer to a `SINGLE_SELECT`
                                        question, or the answer to a `DATE`
                                        question as an ISO 8601 date string
                                        (e.g. "2021-12-31T23:59:59.000Z").
                                    - type: array
                                      items:
                                        type: string
                                      description: >-
                                        Answer to a `MULTI_SELECT` question,
                                        contains the IDs of the selected
                                        options.
                                    - type: number
                                      format: double
                                      description: Answer to a `NUMBER` question.
                                    - type: boolean
                                      description: Answer to a `BOOLEAN` question.
                                    - type: object
                                      properties:
                                        name:
                                          type: string
                                          description: The original name (e.g., "resume.pdf")
                                        content_type:
                                          type: string
                                          description: >-
                                            The MIME type of the file (e.g.,
                                            "application/pdf", "image/jpeg")
                                        data:
                                          description: >-
                                            The file content encoded as a base64
                                            string
                                      required:
                                        - name
                                        - content_type
                                        - data
                                      description: Answer to a `FILE` question.
                              required:
                                - question_id
                                - answer_equals
                          required:
                            - block_type
                            - question_id
                            - label
                            - description
                            - required
                            - category
                            - question_type
                            - unified_key
                            - options
                            - display_when
                        - type: object
                          properties:
                            block_type:
                              type: string
                              const: INFORMATION
                            category:
                              oneOf:
                                - type: string
                                  enum:
                                    - EEO
                                - type: 'null'
                            text:
                              type: string
                            display_when:
                              type:
                                - object
                                - 'null'
                              properties:
                                question_id:
                                  type: string
                                  description: >-
                                    The globally unique ID of this object
                                    generated by Kombo. We recommend using this
                                    as a stable primary key for syncing.
                                answer_equals:
                                  oneOf:
                                    - type: string
                                      description: >-
                                        Answer to a `TEXT` question, the option
                                        ID of the answer to a `SINGLE_SELECT`
                                        question, or the answer to a `DATE`
                                        question as an ISO 8601 date string
                                        (e.g. "2021-12-31T23:59:59.000Z").
                                    - type: array
                                      items:
                                        type: string
                                      description: >-
                                        Answer to a `MULTI_SELECT` question,
                                        contains the IDs of the selected
                                        options.
                                    - type: number
                                      format: double
                                      description: Answer to a `NUMBER` question.
                                    - type: boolean
                                      description: Answer to a `BOOLEAN` question.
                                    - type: object
                                      properties:
                                        name:
                                          type: string
                                          description: The original name (e.g., "resume.pdf")
                                        content_type:
                                          type: string
                                          description: >-
                                            The MIME type of the file (e.g.,
                                            "application/pdf", "image/jpeg")
                                        data:
                                          description: >-
                                            The file content encoded as a base64
                                            string
                                      required:
                                        - name
                                        - content_type
                                        - data
                                      description: Answer to a `FILE` question.
                              required:
                                - question_id
                                - answer_equals
                          required:
                            - block_type
                            - category
                            - text
                            - display_when
                        - type: object
                          properties:
                            block_type:
                              type: string
                              const: SECTION
                            label:
                              type: string
                            children:
                              type: array
                              items:
                                type: object
                          required:
                            - block_type
                            - label
                            - children
                  submission_token:
                    type:
                      - string
                      - 'null'
                required:
                  - id
                  - career_site
                  - url
                  - job_code
                  - created_at
                  - updated_at
                  - archived_at
                  - archived_reason
                  - availability
                  - application_form
                  - submission_token
            next:
              type:
                - string
                - 'null'
          required:
            - results
            - next
      required:
        - status
        - data
  responses:
    ErrorResponseAiApply:
      description: The standard error response with the error codes for AI Apply.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type:
                      - string
                      - 'null'
                    enum:
                      - PLATFORM.RATE_LIMIT_EXCEEDED
                      - PLATFORM.CONCURRENCY_LIMIT_EXCEEDED
                      - PLATFORM.INTEGRATION_NOT_FOUND
                      - PLATFORM.INPUT_INVALID
                      - PLATFORM.UNKNOWN_ERROR
                      - PLATFORM.IP_NOT_WHITELISTED
                      - PLATFORM.AUTHENTICATION_INVALID
                      - PLATFORM.TASK_TIMED_OUT
                      - REMOTE.SERVICE_UNAVAILABLE
                      - REMOTE.RATE_LIMIT_EXCEEDED
                      - REMOTE.INPUT_INVALID
                      - REMOTE.UNKNOWN_HTTP_ERROR
                      - AI_APPLY.JOB_FEED_IMPORT_ALREADY_RUNNING
                      - AI_APPLY.JOB_FEED_IMPORT_TIMED_OUT
                      - AI_APPLY.JOB_POSTING_ALREADY_EXISTS
                    example: ATS.JOB_CLOSED
                    description: >-
                      Some errors include an error code that can be used to
                      identify their cause. See the [Error Handling
                      Docs](https://docs.kombo.dev/guides/errors) for more
                      information. For your error handling logic please use the
                      error `code` instead of other properties (e.g. message,
                      http status code, ...).
                  title:
                    type:
                      - string
                      - 'null'
                    description: A static, human-readable label.
                  message:
                    type: string
                    description: >-
                      A dynamic, detailed description of what went wrong in this
                      specific instance.
                  log_url:
                    type:
                      - string
                      - 'null'
                    format: uri
                    description: >-
                      The log page in the Kombo UI lists every interaction with
                      full details. If you need assistance, share that link with
                      our support team.
                required:
                  - code
                  - title
                  - message
                  - log_url
                description: Error details with structured code for programmatic handling.
            required:
              - status
              - error
          examples:
            Error Response:
              description: >-
                When building error handling logic, always use the `code` field
                to identify specific error types programmatically. See the
                complete list of error codes in the
                [docs](https://docs.kombo.dev/guides/errors).
              value:
                status: error
                error:
                  code: INTEGRATION.MODEL_NOT_AVAILABLE
                  title: >-
                    This data model isn't supported for the selected
                    integration.
                  message: >-
                    The "employees" model is not yet available for Greenhouse.
                    Please reach out to Kombo if you need this functionality.
                  log_url: https://app.kombo.dev/my-prod/logs?interactionId=123456
            Minimal Error Response:
              description: >-
                The "message" is always required while other fields can also be
                `null`. See the [docs](https://docs.kombo.dev/guides/errors) for
                more information.
              value:
                status: error
                error:
                  code: null
                  title: null
                  message: The message is always in the response.
                  log_url: null
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Create an API key on the [Secrets](https://app.kombo.dev/secrets) page
        in the Kombo dashboard.

````