Application Sync Status Update
Sent when an application has finished synchronizing to the company's ATS. Whenever an application's sync status changes, Kini POSTs a payload to the URL you configure.
Overview
Sent when an application has finished synchronizing to the company's ATS. Use it to track the real-time delivery status of each candidate application.
Payload
The following payload is sent to your configured webhook URL:
{
"company_id": 123,
"partner_id": 10,
"application_id": 452123,
"job_id": 12388996,
"partner_company_id": "1019123",
"partner_application_id": "123",
"external_job_id": "1604123",
"status": "SUCCESS",
"failure_error": null
}
| Field Name | Type | Description |
|---|---|---|
company_id | int | The unique Kini ID of the company. |
partner_id | int | The unique Kini ID of the partner. |
application_id | int | The unique Kini ID of the application. |
job_id | int | The unique Kini ID of the job the application was submitted for. |
partner_company_id | string | The partner-specific ID of the company, in case it was provided upon company onboarding. |
partner_application_id | string | The partner-specific ID of the application, in case it was provided upon application creation. |
external_job_id | string | The external job ID. |
status | enum | The current synchronization status of the application (SUCCESS, SUCCESS_FALLBACK, FAILURE, EXPECTED_FAILURE, NOTSENT). |
failure_error | string | Error details if the synchronization failed (otherwise null). |
Status Values
The status field can have the following values:
- SUCCESS: The application was synchronized successfully.
- SUCCESS_FALLBACK: The application could not be delivered to its original job and was synchronized to the company's configured fallback job instead.
- FAILURE: An error occurred during synchronization. Failure details are provided in the
failure_errorfield. - EXPECTED_FAILURE: Synchronization failed due to an expected error, such as
DuplicateApplicationError(the candidate already exists in the ATS) orJobNotPublishedError. No action is needed — see Duplicate Applications. - NOTSENT: Synchronization has not been sent to the ATS yet, or is still in progress.
Delivery & Retries
Deliveries are sent as an HTTPS POST with a JSON body and a 20-second timeout. If your endpoint returns a retryable status (429, 500, 502, 503, 504) or the connection times out, Kini retries up to 3 times with exponential backoff (roughly 1s, 2s, then 4s). Any other non-2xx response is treated as a permanent failure and is not retried.
Authentication
Kini calls your endpoint, so authentication is under your control: when your webhook is set up, you tell us which HTTP headers each delivery should carry — for example an Authorization: Bearer {token} header or a custom API-key header that your endpoint checks. Kini stores these securely and sends them with every request.
Setup
Webhook endpoints are configured per company in the Kini Partner App. Provide the HTTPS URL that should receive events and the headers Kini should send with each delivery. Need help? Contact tech@getkini.com.