Event Payloads
All webhook events share a common structure with resource-specific data.
Event Envelope
{
"event": "application.created",
"event_id": "evt_abc123",
"created_at": "2025-01-15T10:30:00Z",
"account_id": 12345,
"data": {
// Resource-specific payload
}
}
| Field | Description |
|---|---|
event | Event type (e.g., application.created) |
event_id | Unique identifier for this delivery |
created_at | ISO 8601 timestamp |
account_id | Your Kula account ID |
data | Resource-specific payload |
Event Types
Candidate Events
| Event | Description |
|---|---|
candidate.created | New candidate added |
candidate.updated | Candidate profile updated |
candidate.deleted | Candidate removed |
Application Events
| Event | Description |
|---|---|
application.created | New application submitted |
application.updated | Application updated |
application.deleted | Application removed |
application.stage_changed | Application moved to new stage |
application.rejected | Application rejected |
application.hired | Candidate hired |
Job Events
| Event | Description |
|---|---|
job.created | New job created |
job.updated | Job updated |
job_posting.published | Job posting went live |
job_posting.updated | Job posting updated |
Offer Events
| Event | Description |
|---|---|
offer.created | New offer created |
offer.updated | Offer updated |
offer.approved | Offer approved |
offer.deleted | Offer removed |
offer.accepted | Candidate accepted offer |
offer.declined | Candidate declined offer |
Common Data Objects
IdNameObject
{
"id": 123,
"name": "Engineering"
}
UserObject
{
"id": 456,
"name": "Jane Smith",
"email": "jane@example.com"
}
LocationObject
{
"city": { "id": 1, "name": "San Francisco" },
"state": { "id": 2, "name": "California" },
"country": { "id": 3, "name": "United States" }
}
Example Payloads
See the Webhooks API reference for complete payload examples for each event type.