Submission status changed
Webhook submission.status_changed
Sent to the applicant, the agency and the operator of a submission each time it moves to another state (draft, submitted, checking, in_review, info_requested, awaiting_approval, signing, approved, rejected, withdrawn).
Headers we send
| Name | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
X-Tanba-Delivery | header | string (uuid) | yes | Identifier of the delivery. It is the same on every retry; use it to ignore duplicates. | 9b2e4c60-1f7a-4d83-a5c6-3e8d0b7f2a11 |
X-Tanba-Event | header | string | yes | The event name. | approval.issued |
X-Tanba-Signature | header | string | yes | t=<unix seconds>,v1=<hex HMAC-SHA256 of t + "." + the raw body, keyed with the webhook secret>. See the guide on webhook signatures. | t=1790000000,v1=5f2d9c1a0b7e4d63a8c15e90f4b2d7a3c6e81f0594ab2d3c7e6f1a08b9d4c5e2 |
Body we send
application/json
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
event | const | yes | The event name, the same as in the X-Tanba-Event header. | "submission.status_changed" |
occurred_at | string (date-time) | yes | When the platform recorded the change, in Asia/Almaty time. | "2026-10-06T14:02:11+05:00" |
data | object | yes | What changed. | |
data.submission_id | string (uuid) | yes | Identifier of the submission. | "6f1c0d3e-52a4-4b57-9a7e-0c3a1b9d2e44" |
data.number | string | yes | Number of the submission. | "SUB-2026-000087" |
data.from | string | yes | The state before the change. | "in_review" |
data.to | string | yes | The state after the change. | "awaiting_approval" |
data.action | string | yes | The action that caused the change. | "recommend" |
Example
{
"event": "submission.status_changed",
"occurred_at": "2026-10-06T14:02:11+05:00",
"data": {
"submission_id": "6f1c0d3e-52a4-4b57-9a7e-0c3a1b9d2e44",
"number": "SUB-2026-000087",
"from": "in_review",
"to": "awaiting_approval",
"action": "recommend"
}
}
Responses
200 The delivery is accepted. Any 2xx status counts; the body is ignored.
No body.
410 Any other status, or no answer within 10 seconds, counts as a failure and the delivery is retried.
No body.