EventsJob Update Webhook

Job Update Webhook

Payload schema and behavior for the Job Update webhook, fired on job create, update, and archive events.

Overview

Sent when a job is created, updated, or archived in the connected ATS. It is the canonical way to keep your system synchronized with the source of truth.

Payload

The following payload is sent to your configured webhook URL:

{
  "event": "UPDATED",
  "company_id": 1,
  "job_id": 12345,
  "external_id": "EU-42",
  "occurred_at": "2026-07-15T10:32:18Z"
}
FieldTypeDescription
eventenumThe job event type (CREATED, UPDATED, ARCHIVED).
company_idintThe Kini company ID the job belongs to.
job_idintThe Kini internal job ID.
external_idstringThe job's ID in the connected ATS.
occurred_atstringISO 8601 timestamp of when the event happened in the ATS.

Event Types

The event field can have the following values:

  • CREATED: A new job was created in the ATS.
  • UPDATED: A field on an existing job was modified (title, description, location, etc.).
  • ARCHIVED: A job was removed from the ATS. Use this to keep your system in sync by removing outdated job entries.

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.