Kombo · Capability
Kombo API — AI Apply
Kombo API — AI Apply. 12 operations. Lead operation: Get applications. Self-contained Naftiko capability covering one Kombo business surface.
What You Can Do
GET
Getaiapplyapplications
— Get applications
/v1/ai-apply/applications
POST
Postaiapplyapply
— Submit job application
/v1/ai-apply/apply
POST
Postaiapplycareersites
— Create a career site
/v1/ai-apply/career-sites
GET
Getaiapplycareersites
— Get career sites
/v1/ai-apply/career-sites
GET
Getaiapplyjobfeeds
— Get job feeds
/v1/ai-apply/job-feeds
POST
Postaiapplyjobfeeds
— Create a job feed
/v1/ai-apply/job-feeds
POST
Postaiapplyjobfeedsbulkimport
— Bulk import job postings
/v1/ai-apply/job-feeds/{job-feed-id}/bulk-import
GET
Getaiapplypostings
— Get job postings
/v1/ai-apply/postings
POST
Postaiapplypostings
— Parse a job posting
/v1/ai-apply/postings
POST
Postaiapplypostingspostingidinquire
— Inquire about a job posting and the application f…
/v1/ai-apply/postings/{posting-id}/inquire
GET
Getaiapplyunifiedapijobs
— Get jobs
/v1/ai-apply/unified-api/jobs
POST
Postaiapplyunifiedapijobsjobidapplications
— Create application
/v1/ai-apply/unified-api/jobs/{job-id}/applications
MCP Tools
get-applications
Get applications
read-only
idempotent
submit-job-application
Submit job application
create-career-site
Create a career site
get-career-sites
Get career sites
read-only
idempotent
get-job-feeds
Get job feeds
read-only
idempotent
create-job-feed
Create a job feed
bulk-import-job-postings
Bulk import job postings
get-job-postings
Get job postings
read-only
idempotent
parse-job-posting
Parse a job posting
inquire-about-job-posting-and
Inquire about a job posting and the application f…
get-jobs
Get jobs
read-only
idempotent
create-application
Create application
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Kombo API — AI Apply
description: 'Kombo API — AI Apply. 12 operations. Lead operation: Get applications. Self-contained Naftiko capability covering
one Kombo business surface.'
tags:
- Kombo
- AI Apply
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
KOMBO_API_KEY: KOMBO_API_KEY
capability:
consumes:
- type: http
namespace: kombo-ai-apply
baseUri: https://api.kombo.dev/v1
description: Kombo API — AI Apply business capability. Self-contained, no shared references.
resources:
- name: ai-apply-applications
path: /ai-apply/applications
operations:
- name: getaiapplyapplications
method: GET
description: Get applications
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
previous page response.
- name: page_size
in: query
type: string
description: The number of results to return per page. Maximum is 250.
- name: ids
in: query
type: string
description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
- name: job_posting_ids
in: query
type: string
description: Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`.
- name: ai-apply-apply
path: /ai-apply/apply
operations:
- name: postaiapplyapply
method: POST
description: Submit job application
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: ai-apply-career-sites
path: /ai-apply/career-sites
operations:
- name: postaiapplycareersites
method: POST
description: Create a career site
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: getaiapplycareersites
method: GET
description: Get career sites
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
previous page response.
- name: page_size
in: query
type: string
description: The number of results to return per page. Maximum is 250.
- name: ids
in: query
type: string
description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
- name: ai-apply-job-feeds
path: /ai-apply/job-feeds
operations:
- name: getaiapplyjobfeeds
method: GET
description: Get job feeds
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
previous page response.
- name: page_size
in: query
type: string
description: The number of results to return per page. Maximum is 250.
- name: ids
in: query
type: string
description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
- name: postaiapplyjobfeeds
method: POST
description: Create a job feed
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: ai-apply-job-feeds-job_feed_id-bulk-import
path: /ai-apply/job-feeds/{job_feed_id}/bulk-import
operations:
- name: postaiapplyjobfeedsbulkimport
method: POST
description: Bulk import job postings
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: job_feed_id
in: path
type: string
description: The ID of the job feed to import into
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: ai-apply-postings
path: /ai-apply/postings
operations:
- name: getaiapplypostings
method: GET
description: Get job postings
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
previous page response.
- name: page_size
in: query
type: string
description: The number of results to return per page. Maximum is 250.
- name: ids
in: query
type: string
description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
- name: career_site_ids
in: query
type: string
description: Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.
- name: job_codes
in: query
type: string
description: Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`.
- name: postaiapplypostings
method: POST
description: Parse a job posting
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: ai-apply-postings-posting_id-inquire
path: /ai-apply/postings/{posting_id}/inquire
operations:
- name: postaiapplypostingspostingidinquire
method: POST
description: Inquire about a job posting and the application f…
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: posting_id
in: path
type: string
description: The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary
key for syncing.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: ai-apply-unified-api-jobs
path: /ai-apply/unified-api/jobs
operations:
- name: getaiapplyunifiedapijobs
method: GET
description: Get jobs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
previous page response.
- name: page_size
in: query
type: string
description: The number of results to return per page. Maximum is 5.
- name: ids
in: query
type: string
description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
- name: remote_ids
in: query
type: string
description: This parameter exists for backwards compatibility with Kombo's unified API. Supplying a comma-separated
list of remote IDs such as `32,33` will return no jobs b
- name: job_codes
in: query
type: string
description: Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`.
- name: career_site_ids
in: query
type: string
description: Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.
- name: ai-apply-unified-api-jobs-job_id-applications
path: /ai-apply/unified-api/jobs/{job_id}/applications
operations:
- name: postaiapplyunifiedapijobsjobidapplications
method: POST
description: Create application
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: job_id
in: path
type: string
description: The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of
the integrated system (remote_id) you need to prefix the id w
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: bearer
token: '{{env.KOMBO_API_KEY}}'
exposes:
- type: rest
namespace: kombo-ai-apply-rest
port: 8080
description: REST adapter for Kombo API — AI Apply. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/ai-apply/applications
name: ai-apply-applications
description: REST surface for ai-apply-applications.
operations:
- method: GET
name: getaiapplyapplications
description: Get applications
call: kombo-ai-apply.getaiapplyapplications
with:
cursor: rest.cursor
page_size: rest.page_size
ids: rest.ids
job_posting_ids: rest.job_posting_ids
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/apply
name: ai-apply-apply
description: REST surface for ai-apply-apply.
operations:
- method: POST
name: postaiapplyapply
description: Submit job application
call: kombo-ai-apply.postaiapplyapply
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/career-sites
name: ai-apply-career-sites
description: REST surface for ai-apply-career-sites.
operations:
- method: POST
name: postaiapplycareersites
description: Create a career site
call: kombo-ai-apply.postaiapplycareersites
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getaiapplycareersites
description: Get career sites
call: kombo-ai-apply.getaiapplycareersites
with:
cursor: rest.cursor
page_size: rest.page_size
ids: rest.ids
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/job-feeds
name: ai-apply-job-feeds
description: REST surface for ai-apply-job-feeds.
operations:
- method: GET
name: getaiapplyjobfeeds
description: Get job feeds
call: kombo-ai-apply.getaiapplyjobfeeds
with:
cursor: rest.cursor
page_size: rest.page_size
ids: rest.ids
outputParameters:
- type: object
mapping: $.
- method: POST
name: postaiapplyjobfeeds
description: Create a job feed
call: kombo-ai-apply.postaiapplyjobfeeds
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/job-feeds/{job-feed-id}/bulk-import
name: ai-apply-job-feeds-job-feed-id-bulk-import
description: REST surface for ai-apply-job-feeds-job_feed_id-bulk-import.
operations:
- method: POST
name: postaiapplyjobfeedsbulkimport
description: Bulk import job postings
call: kombo-ai-apply.postaiapplyjobfeedsbulkimport
with:
job_feed_id: rest.job_feed_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/postings
name: ai-apply-postings
description: REST surface for ai-apply-postings.
operations:
- method: GET
name: getaiapplypostings
description: Get job postings
call: kombo-ai-apply.getaiapplypostings
with:
cursor: rest.cursor
page_size: rest.page_size
ids: rest.ids
career_site_ids: rest.career_site_ids
job_codes: rest.job_codes
outputParameters:
- type: object
mapping: $.
- method: POST
name: postaiapplypostings
description: Parse a job posting
call: kombo-ai-apply.postaiapplypostings
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/postings/{posting-id}/inquire
name: ai-apply-postings-posting-id-inquire
description: REST surface for ai-apply-postings-posting_id-inquire.
operations:
- method: POST
name: postaiapplypostingspostingidinquire
description: Inquire about a job posting and the application f…
call: kombo-ai-apply.postaiapplypostingspostingidinquire
with:
posting_id: rest.posting_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/unified-api/jobs
name: ai-apply-unified-api-jobs
description: REST surface for ai-apply-unified-api-jobs.
operations:
- method: GET
name: getaiapplyunifiedapijobs
description: Get jobs
call: kombo-ai-apply.getaiapplyunifiedapijobs
with:
cursor: rest.cursor
page_size: rest.page_size
ids: rest.ids
remote_ids: rest.remote_ids
job_codes: rest.job_codes
career_site_ids: rest.career_site_ids
outputParameters:
- type: object
mapping: $.
- path: /v1/ai-apply/unified-api/jobs/{job-id}/applications
name: ai-apply-unified-api-jobs-job-id-applications
description: REST surface for ai-apply-unified-api-jobs-job_id-applications.
operations:
- method: POST
name: postaiapplyunifiedapijobsjobidapplications
description: Create application
call: kombo-ai-apply.postaiapplyunifiedapijobsjobidapplications
with:
job_id: rest.job_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: kombo-ai-apply-mcp
port: 9090
transport: http
description: MCP adapter for Kombo API — AI Apply. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-applications
description: Get applications
hints:
readOnly: true
destructive: false
idempotent: true
call: kombo-ai-apply.getaiapplyapplications
with:
cursor: tools.cursor
page_size: tools.page_size
ids: tools.ids
job_posting_ids: tools.job_posting_ids
outputParameters:
- type: object
mapping: $.
- name: submit-job-application
description: Submit job application
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplyapply
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-career-site
description: Create a career site
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplycareersites
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-career-sites
description: Get career sites
hints:
readOnly: true
destructive: false
idempotent: true
call: kombo-ai-apply.getaiapplycareersites
with:
cursor: tools.cursor
page_size: tools.page_size
ids: tools.ids
outputParameters:
- type: object
mapping: $.
- name: get-job-feeds
description: Get job feeds
hints:
readOnly: true
destructive: false
idempotent: true
call: kombo-ai-apply.getaiapplyjobfeeds
with:
cursor: tools.cursor
page_size: tools.page_size
ids: tools.ids
outputParameters:
- type: object
mapping: $.
- name: create-job-feed
description: Create a job feed
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplyjobfeeds
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-import-job-postings
description: Bulk import job postings
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplyjobfeedsbulkimport
with:
job_feed_id: tools.job_feed_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-job-postings
description: Get job postings
hints:
readOnly: true
destructive: false
idempotent: true
call: kombo-ai-apply.getaiapplypostings
with:
cursor: tools.cursor
page_size: tools.page_size
ids: tools.ids
career_site_ids: tools.career_site_ids
job_codes: tools.job_codes
outputParameters:
- type: object
mapping: $.
- name: parse-job-posting
description: Parse a job posting
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplypostings
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: inquire-about-job-posting-and
description: Inquire about a job posting and the application f…
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplypostingspostingidinquire
with:
posting_id: tools.posting_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-jobs
description: Get jobs
hints:
readOnly: true
destructive: false
idempotent: true
call: kombo-ai-apply.getaiapplyunifiedapijobs
with:
cursor: tools.cursor
page_size: tools.page_size
ids: tools.ids
remote_ids: tools.remote_ids
job_codes: tools.job_codes
career_site_ids: tools.career_site_ids
outputParameters:
- type: object
mapping: $.
- name: create-application
description: Create application
hints:
readOnly: false
destructive: false
idempotent: false
call: kombo-ai-apply.postaiapplyunifiedapijobsjobidapplications
with:
job_id: tools.job_id
body: tools.body
outputParameters:
- type: object
mapping: $.