Step in a violation case
Webhook case.step
Sent to the operator of a violation case when a person applies a step of the sanction ladder, lifts a suspension or a cut-off, or closes the case. No step is ever applied automatically. The notice itself is a PDF in Kazakh and Russian in the console; respond_by is the last day on which the operator can answer the step in the console.
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. | "case.step" |
occurred_at | string (date-time) | yes | When the step was stored. | "2026-10-14T11:20:00+05:00" |
data | object | yes | The step. | |
data.case | string | yes | Number of the case. | "CASE-2026-00007" |
data.step | string | yes | The step of the ladder: notice, prescription, deemed_volume, suspension, cutoff, referral or revocation; empty when the case was closed. | "prescription" |
data.state | string | yes | What happened to the step. applied, lifted, closed | |
data.applied_at | string (date-time) | yes | When it happened. | "2026-10-14T11:20:00+05:00" |
data.respond_by | string | null (date-time) | yes | The last moment the operator can answer; null when the step has no reply window. | "2026-10-28T23:59:59+05:00" |
data.legal_basis_ref | string | yes | The reference to the norm the step rests on; empty for a lift or a closing. | "ПРОЕКТ: раздел 3, ступени 1–2; п. 12 перечня правовой базы — рекомендация по итогам профилактического контроля" |
data.draft | boolean | yes | True while the ladder has not been reviewed: the reference to the norm is a draft. | true |
data.structure | string | null | yes | Code of the structure of the case; null for a case on a whole operator. | "ALM-0012" |
Example
{
"event": "case.step",
"occurred_at": "2026-10-14T11:20:00+05:00",
"data": {
"case": "CASE-2026-00007",
"step": "prescription",
"state": "applied",
"applied_at": "2026-10-14T11:20:00+05:00",
"respond_by": "2026-10-28T23:59:59+05:00",
"legal_basis_ref": "ПРОЕКТ: раздел 3, ступени 1–2; п. 12 перечня правовой базы — рекомендация по итогам профилактического контроля",
"draft": true,
"structure": "ALM-0012"
}
}
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.