Webhook events
On this page
data fields of each, with the whole body of a sample delivery. The values are made up; the shapes are checked against the engine.
| Event | Raised when |
|---|---|
job.done | |
job.failed | |
article.approved | |
article.exported | |
beat.run.done | |
agent.budget_exhausted | |
site.read | |
test |
job.done #
| Field in `data` | Meaning |
|---|---|
jobId | |
articleId | languageVersions. |
credits |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"articleId": "9f3b1c2a-6d4e-4b7a-8c15-2e0a7d91b3f4",
"credits": 1,
"jobId": "c8a41e07-52b9-4d36-8f1a-0b7e9d3c6a25"
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "job.done",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}job.failed #
| Field in `data` | Meaning |
|---|---|
jobId | |
articleId | |
failure | cancelled when the job was cancelled. |
refunded |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"articleId": "9f3b1c2a-6d4e-4b7a-8c15-2e0a7d91b3f4",
"failure": "the model provider did not answer",
"jobId": "c8a41e07-52b9-4d36-8f1a-0b7e9d3c6a25",
"refunded": 1
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "job.failed",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}article.approved #
| Field in `data` | Meaning |
|---|---|
article | GET /articles/{id} returns it for a key, without comments. Ids inside it are upper-case. |
version | |
approvedBy |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"approvedBy": "Maya Chen",
"article": {
"blocks": [
{
"claimIds": [
"E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045"
],
"n": 1,
"text": "Three ferry operators will publish one shared timetable for the northern route from 3 November, the harbour authority said."
},
{
"claimIds": [],
"kind": "heading",
"level": 2,
"n": 2,
"text": "What changes for commuters"
},
{
"claimIds": [
"4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"A63F2E58-9C10-47DB-8E3A-D5B07C41F192"
],
"n": 3,
"text": "Commuters will see 14 daily crossings instead of 9, and a single fare table applies on all of them."
}
],
"brandName": "Kolibri Courier",
"by": "Maya Chen · via agent",
"claims": [
{
"id": "E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045",
"keptFlag": false,
"originCount": 2,
"paragraph": 1,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982"
],
"state": "corroborated",
"text": "The shared timetable starts on 3 November."
},
{
"id": "4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"keptFlag": false,
"originCount": 1,
"paragraph": 3,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4"
],
"state": "singleSource",
"text": "The route will have 14 daily crossings instead of 9."
},
{
"id": "A63F2E58-9C10-47DB-8E3A-D5B07C41F192",
"keptFlag": false,
"originCount": 2,
"paragraph": 3,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982"
],
"state": "corroborated",
"text": "A single fare table applies on all crossings."
}
],
"deck": "The harbour authority says commuters get 14 daily crossings.",
"id": "9F3B1C2A-6D4E-4B7A-8C15-2E0A7D91B3F4",
"label": {
"approvedAt": "2026-10-06T12:31:40Z",
"approvedBy": "Maya Chen",
"approvedVersion": 1,
"reviewedByHuman": true
},
"language": "en",
"lead": "Three ferry operators will publish one shared timetable for the northern route from 3 November.",
"origin": "agent",
"paragraphs": [
{
"claimIds": [
"E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045"
],
"n": 1,
"text": "Three ferry operators will publish one shared timetable for the northern route from 3 November, the harbour authority said."
},
{
"claimIds": [],
"n": 2,
"text": "## What changes for commuters"
},
{
"claimIds": [
"4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"A63F2E58-9C10-47DB-8E3A-D5B07C41F192"
],
"n": 3,
"text": "Commuters will see 14 daily crossings instead of 9, and a single fare table applies on all of them."
}
],
"quality": [
{
"detail": "Every figure and quote in the text appears in a source.",
"id": "q-readback",
"name": "Read back against the sources",
"verdict": "passed"
},
{
"detail": "412 words.",
"id": "q-length",
"name": "Length",
"verdict": "warning"
}
],
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"sources": [
{
"contributed": "Contributed: 2 claims",
"id": "71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"official": false,
"origin": "harbour-authority.example",
"score": 75,
"soleForClaims": 1,
"title": "Northern route: one timetable from 3 November",
"url": "https://harbour-authority.example/news/northern-route-timetable"
},
{
"contributed": "Contributed: 2 claims",
"id": "D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982",
"official": false,
"origin": "coast-gazette.example",
"score": 75,
"soleForClaims": 0,
"title": "Ferries to share a timetable",
"url": "https://coast-gazette.example/transport/ferries-share-timetable"
}
],
"status": "approved",
"title": "Ferry operators agree on a single timetable for the northern route",
"versions": [
{
"agent": "Claude (newsroom agent)",
"by": "Claude (newsroom agent)",
"label": "Generated",
"model": "writer-v3",
"n": 1,
"note": "Written from 2 origins · 3 claims checked · 1 marked",
"when": "2026-10-06T12:04:11Z"
}
],
"words": 412
},
"version": 1
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "article.approved",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}article.exported #
| Field in `data` | Meaning |
|---|---|
article | comments. |
version | |
target | markdown, pdf, docx, or delivered to <connection name>. |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"article": {
"blocks": [
{
"claimIds": [
"E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045"
],
"n": 1,
"text": "Three ferry operators will publish one shared timetable for the northern route from 3 November, the harbour authority said."
},
{
"claimIds": [],
"kind": "heading",
"level": 2,
"n": 2,
"text": "What changes for commuters"
},
{
"claimIds": [
"4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"A63F2E58-9C10-47DB-8E3A-D5B07C41F192"
],
"n": 3,
"text": "Commuters will see 14 daily crossings instead of 9, and a single fare table applies on all of them."
}
],
"brandName": "Kolibri Courier",
"by": "Maya Chen · via agent",
"claims": [
{
"id": "E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045",
"keptFlag": false,
"originCount": 2,
"paragraph": 1,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982"
],
"state": "corroborated",
"text": "The shared timetable starts on 3 November."
},
{
"id": "4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"keptFlag": false,
"originCount": 1,
"paragraph": 3,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4"
],
"state": "singleSource",
"text": "The route will have 14 daily crossings instead of 9."
},
{
"id": "A63F2E58-9C10-47DB-8E3A-D5B07C41F192",
"keptFlag": false,
"originCount": 2,
"paragraph": 3,
"sourceIds": [
"71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982"
],
"state": "corroborated",
"text": "A single fare table applies on all crossings."
}
],
"deck": "The harbour authority says commuters get 14 daily crossings.",
"id": "9F3B1C2A-6D4E-4B7A-8C15-2E0A7D91B3F4",
"label": {
"approvedAt": "2026-10-06T12:31:40Z",
"approvedBy": "Maya Chen",
"approvedVersion": 1,
"reviewedByHuman": true
},
"language": "en",
"lead": "Three ferry operators will publish one shared timetable for the northern route from 3 November.",
"origin": "agent",
"paragraphs": [
{
"claimIds": [
"E1A7C3B9-0D42-4F58-96AE-3B1C8D7F2045"
],
"n": 1,
"text": "Three ferry operators will publish one shared timetable for the northern route from 3 November, the harbour authority said."
},
{
"claimIds": [],
"n": 2,
"text": "## What changes for commuters"
},
{
"claimIds": [
"4B90D6E2-A317-4C8B-B5F0-7E2A19C3D864",
"A63F2E58-9C10-47DB-8E3A-D5B07C41F192"
],
"n": 3,
"text": "Commuters will see 14 daily crossings instead of 9, and a single fare table applies on all of them."
}
],
"quality": [
{
"detail": "Every figure and quote in the text appears in a source.",
"id": "q-readback",
"name": "Read back against the sources",
"verdict": "passed"
},
{
"detail": "412 words.",
"id": "q-length",
"name": "Length",
"verdict": "warning"
}
],
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"sources": [
{
"contributed": "Contributed: 2 claims",
"id": "71C2E9A0-B4D8-4536-9F1E-A08D3C56B7E4",
"official": false,
"origin": "harbour-authority.example",
"score": 75,
"soleForClaims": 1,
"title": "Northern route: one timetable from 3 November",
"url": "https://harbour-authority.example/news/northern-route-timetable"
},
{
"contributed": "Contributed: 2 claims",
"id": "D90B5F13-2E67-4A8C-B1D4-6C3E7A0F5982",
"official": false,
"origin": "coast-gazette.example",
"score": 75,
"soleForClaims": 0,
"title": "Ferries to share a timetable",
"url": "https://coast-gazette.example/transport/ferries-share-timetable"
}
],
"status": "approved",
"title": "Ferry operators agree on a single timetable for the northern route",
"versions": [
{
"agent": "Claude (newsroom agent)",
"by": "Claude (newsroom agent)",
"label": "Generated",
"model": "writer-v3",
"n": 1,
"note": "Written from 2 origins · 3 claims checked · 1 marked",
"when": "2026-10-06T12:04:11Z"
}
],
"words": 412
},
"target": "markdown",
"version": 1
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "article.exported",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}beat.run.done #
| Field in `data` | Meaning |
|---|---|
beatId | |
candidates | |
written | |
credits |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"beatId": "2d7c9e41-5a08-4b36-8c1f-e3a60b9d7f52",
"candidates": 6,
"credits": 2,
"written": 2
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "beat.run.done",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}agent.budget_exhausted #
| Field in `data` | Meaning |
|---|---|
keyId | |
name | |
kind | key or agent. |
cap | |
resetsAt |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"cap": 5,
"keyId": "6c1d9f3e-8a25-4b70-93e4-d7a0b5c28f19",
"kind": "agent",
"name": "Claude (newsroom agent)",
"resetsAt": "2026-10-07T00:00:00Z"
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "agent.budget_exhausted",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}site.read #
| Field in `data` | Meaning |
|---|---|
siteId | |
domain | |
status | ready or failed. |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"domain": "kolibri.example",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"status": "ready"
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "site.read",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}test #
| Field in `data` | Meaning |
|---|---|
test | true. Sent by Send a test in Developer › Webhooks. |
{
"createdAt": "2026-10-06T12:31:41Z",
"data": {
"test": true
},
"id": "evt_5f7b6a64-1c1e-4a0b-9d2a-3c8a8e0f1a11",
"siteId": "3b6f0c52-6a41-4d0e-9a53-71c8f2d5a1e0",
"type": "test",
"workspaceId": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
}