Track Webhook¶
Use this API to manage the webhook override for one track.
The per-track webhook is optional. If it is not configured, or if it has inherit set to true, Xobin uses the company-wide default from Track Webhook Settings.
Difference from Track Webhook Settings API¶
Use Track Webhook Settings to set one default webhook for every track.
Use Track Webhook when a specific track needs different delivery behavior, for example a different URL for one job opening.
Warning
You must include your API key in the request headers.
Supported methods¶
Method |
Endpoint |
What it does |
|---|---|---|
|
|
Returns the track override, company default, and effective config that will be used. |
|
|
Replaces the full per-track override. |
|
|
Updates only supplied fields in the per-track override. |
|
|
Removes the per-track override so the track falls back to the company default. |
GET Track Webhook¶
Request URL¶
GET /tracks/<track_id>/webhook
Request body¶
No request body is required.
Response¶
200 OK
{
"track_id": 12345,
"webhook": {
"status": true,
"url": "https://example.com/xobin/track-applicants",
"inherit": false,
"has_secret": false
},
"company_default": {
"status": true,
"url": "https://example.com/xobin/default",
"inherit": false,
"has_secret": true
},
"effective": {
"status": true,
"url": "https://example.com/xobin/track-applicants",
"inherit": false,
"has_secret": false
}
}
Response meaning¶
Field |
Meaning |
|---|---|
|
The override saved directly on this track. This can be |
|
The company-wide default from Track Webhook Settings. This can be |
|
The config Xobin will actually use when this track receives a completed applicant. This is the track override when |
PUT Track Webhook¶
Request URL¶
PUT /tracks/<track_id>/webhook
Request body¶
PUT replaces the complete per-track override.
{
"webhook": {
"status": true,
"url": "https://example.com/xobin/track-applicants",
"secret": "optional-custom-signing-secret",
"inherit": false
}
}
Response¶
200 OK - Same response shape as GET.
PATCH Track Webhook¶
Request URL¶
PATCH /tracks/<track_id>/webhook
Request body¶
PATCH updates only the supplied fields. For example, this makes the track inherit the company default:
{
"webhook": {
"inherit": true
}
}
Response¶
200 OK
{
"track_id": 12345,
"webhook": {
"status": true,
"url": "https://example.com/xobin/track-applicants",
"inherit": true,
"has_secret": false
},
"company_default": {
"status": true,
"url": "https://example.com/xobin/default",
"inherit": false,
"has_secret": true
},
"effective": {
"status": true,
"url": "https://example.com/xobin/default",
"inherit": false,
"has_secret": true
}
}
DELETE Track Webhook¶
Request URL¶
DELETE /tracks/<track_id>/webhook
Request body¶
No request body is required.
Response¶
200 OK - The track override is removed. effective shows the company default if one exists.
{
"track_id": 12345,
"webhook": null,
"company_default": {
"status": true,
"url": "https://example.com/xobin/default",
"inherit": false,
"has_secret": true
},
"effective": {
"status": true,
"url": "https://example.com/xobin/default",
"inherit": false,
"has_secret": true
}
}
Webhook object¶
Field |
Type |
Description |
|---|---|---|
|
boolean |
Enables or disables this track override. |
|
string |
HTTPS endpoint that receives the signed |
|
string |
Optional signing secret. If omitted, your company API key is used to sign the webhook payload. |
|
boolean |
When |
Error Responses¶
Status Code |
Error |
Description |
|---|---|---|
|
Bad Request |
Missing |
|
Unauthorized |
API key is missing or invalid. |
|
Track not found |
The specified track does not exist in the API key's account. |