Properties
| Name | Type | Description |
|---|---|---|
| submission_token | string | JWT token obtained from the POST /postings/:id/inquire endpoint. Valid for 12 hours. |
| candidate_email | string | The email address of the candidate. This is used for deduplication (preventing duplicate applications from the same candidate) and internal tracking purposes. This field is required but should not be |
| query_params | object | Query parameters to be appended to the job posting URL when applying. |
| screening_question_answers | array | Array of screening question answers. The answers need to match exactly with the questions you received on the POST /postings/:id/inquire endpoint. Otherwise, the application will be rejected. |
| additional_clicks | integer | Number of times to simulate the job being opened in addition to the actual click related to the application. When set without `additional_clicks_scatter_duration`, uses the default 60-minute scatter w |
| additional_clicks_scatter_duration | integer | Optional scatter window for `additional_clicks`, in minutes. Cannot be used without `additional_clicks`. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/PostAiApplyApplyRequestBody",
"title": "PostAiApplyApplyRequestBody",
"type": "object",
"properties": {
"submission_token": {
"type": "string",
"description": "JWT token obtained from the POST /postings/:id/inquire endpoint. Valid for 12 hours."
},
"candidate_email": {
"type": "string",
"description": "The email address of the candidate. This is used for deduplication (preventing duplicate applications from the same candidate) and internal tracking purposes. This field is required but should not be displayed to the candidate on your application form - you should provide this from your own system.",
"format": "email"
},
"query_params": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Query parameters to be appended to the job posting URL when applying."
},
"screening_question_answers": {
"type": "array",
"items": {
"type": "object",
"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": {
"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",
"minimum": -1.7976931348623157e+308,
"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": {
"type": "string",
"description": "The file content encoded as a base64 string"
}
},
"required": [
"name",
"content_type",
"data"
],
"description": "Answer to a `FILE` question."
}
]
}
},
"required": [
"question_id",
"answer"
]
},
"description": "Array of screening question answers. The answers need to match exactly with the questions you received on the POST /postings/:id/inquire endpoint. Otherwise, the application will be rejected."
},
"additional_clicks": {
"type": "integer",
"format": "int64",
"minimum": 0,
"maximum": 30,
"description": "Number of times to simulate the job being opened in addition to the actual click related to the application. When set without `additional_clicks_scatter_duration`, uses the default 60-minute scatter window."
},
"additional_clicks_scatter_duration": {
"type": "integer",
"format": "int64",
"minimum": 1,
"description": "Optional scatter window for `additional_clicks`, in minutes. Cannot be used without `additional_clicks`."
}
},
"required": [
"submission_token",
"candidate_email",
"screening_question_answers"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/kombo-postaiapplyapplyrequestbody"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.