{
"id": "evt_r95tsmb9qgkm4aavg2evx6qhss",
"object": "event",
"type": "check.resolved",
"api_version": "2026-10-15",
"livemode": true,
"account": "acct_2q8v1m3n7p4r6s9t0wxyhk5zba",
"sequence": 2,
"created_at": "2026-10-20T14:12:01Z",
"data": {
"object": {
"id": "chk_3pg20xkepkscyp0qbpc4yq7ad2",
"object": "check",
"livemode": true,
"status": "allowed",
"decision": "allow",
"talent": [
{
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"name": "Maya Okafor",
"matched_by": "name",
"confidence": "high",
"decision": "allow",
"facets": [
"fct_5zba2q8v1m3n7p4r6s9t0wxyhk"
],
"license": "lic_k5zba2q8v1m3n7p4r6s9t0wxyh",
"license_revision": "lrv_p4r6s9t0wxyhk5zba2q8v1m3n7",
"terms_digest": "sha256:39f18c8bef02b5226b9feaa92e526ed30b81b91650d8a10b503281b169f44431",
"escalation": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7"
}
],
"use": {
"modality": "image",
"kind": "depiction",
"purpose": "advertising",
"commercial": true,
"channels": [
"social",
"web"
],
"territories": [
"US",
"CA"
]
},
"reasons": [],
"obligations": [
{
"type": "generation_check",
"required": "all"
},
{
"type": "hold_until_release",
"reviewer": "talent"
},
{
"type": "draft_watermark"
},
{
"type": "generation_instructions",
"instructions": [
"Keep Maya Okafor the same person: face, skin tone and build unchanged.",
"Do not show alcohol or tobacco.",
"Do not imply she endorses any product other than the one shown."
],
"term": "license:lic_k5zba2q8v1m3n7p4r6s9t0wxyh/terms.neverExtras"
},
{
"type": "disclosure",
"level": "brand",
"placement": "both",
"text": "Made with AI. Maya Okafor's likeness used under license by Ridgeline."
},
{
"type": "c2pa_manifest"
},
{
"type": "no_training",
"material": "outputs"
},
{
"type": "usage_report",
"units": "placements",
"within": "P30D"
}
],
"authorization": {
"token": "eyJhbGciOiJFUzI1NiIsImtpZCI6InJmbC0yMDI2LTEwLWRvY3MzIiwidHlwIjoidGxwLWF1dGgrand0In0.eyJhdWQiOiJhY2N0XzdwNHI2czl0MHd4eWhrNXpiYTJxOHYxbTNuIiwiZXhwIjoxNzkyMjYwOTAwLCJpYXQiOjE3OTIyNjAwMDAsImlzcyI6Imh0dHBzOi8vYXBwLnJlZmxlY3Rpb25zLmFpIiwianRpIjoiY2hrXzNtN3A0cjZzOXQwd3h5aGs1emJhMnE4djFuIiwic3ViIjoiYWNjdF8ycTh2MW0zbjdwNHI2czl0MHd4eWhrNXpiYSIsInRscCI6eyJkZWNpc2lvbiI6ImFsbG93IiwiZXUiOiIzZjljMWE3ZTViMmQ4ZjQwNjFjM2U5YTdiNWQyZjgwMTZlNGM5YTNiN2QxZjVlMmM4YTZiNGQwZjllM2M3YTE1IiwiZXhlY3V0aW9uIjp7Im1vZGVsIjoiaW1hZ2UtbW9kZWwtMyIsInByb3ZpZGVyIjoiZXhhbXBsZS1pbWFnZS1wcm92aWRlciJ9LCJmYWNldHMiOlsiZmN0XzV6YmEycTh2MW0zbjdwNHI2czl0MHd4eWhrIl0sImxpY2Vuc2VzIjpbeyJsaWNlbnNlIjoibGljX2s1emJhMnE4djFtM243cDRyNnM5dDB3eHloIiwicmV2aXNpb24iOiJscnZfcDRyNnM5dDB3eHloazV6YmEycTh2MW0zbjciLCJ0YWxlbnQiOiJ0YWxfOXQwd3h5aGs1emJhMnE4djFtM243cDRyNnMiLCJ0ZXJtc19kaWdlc3QiOiJzaGEyNTY6MzlmMThjOGJlZjAyYjUyMjZiOWZlYWE5MmU1MjZlZDMwYjgxYjkxNjUwZDhhMTBiNTAzMjgxYjE2OWY0NDQzMSJ9XSwibWF4X2dlbmVyYXRpb25zIjo0LCJvYmxpZ2F0aW9ucyI6WyJnZW5lcmF0aW9uX2NoZWNrIiwiaG9sZF91bnRpbF9yZWxlYXNlIiwiZHJhZnRfd2F0ZXJtYXJrIiwiZ2VuZXJhdGlvbl9pbnN0cnVjdGlvbnMiLCJkaXNjbG9zdXJlIiwiYzJwYV9tYW5pZmVzdCIsIm5vX3RyYWluaW5nIiwidXNhZ2VfcmVwb3J0Il0sInJlcXVlc3RfZGlnZXN0Ijoic2hhMjU2OmJmOTQ4MTc3NjZkNTZkOTIyMTFkMTJmNWZmNTFhM2RjMWE2ZDVjYjRiZTI4Nzc0MTdiMDgyNTFmZTM4YzM4NmEiLCJ0YWxlbnQiOlsidGFsXzl0MHd4eWhrNXpiYTJxOHYxbTNuN3A0cjZzIl0sInVzZSI6eyJjaGFubmVscyI6WyJzb2NpYWwiLCJ3ZWIiXSwiY29tbWVyY2lhbCI6dHJ1ZSwia2luZCI6ImRlcGljdGlvbiIsIm1vZGFsaXR5IjoiaW1hZ2UiLCJwdXJwb3NlIjoiYWR2ZXJ0aXNpbmciLCJ0ZXJyaXRvcmllcyI6WyJVUyIsIkNBIl19LCJ2ZXIiOiIxLjAifX0.sbcXipODRBifCQEGJacDUoBBDzW1YzLdbKAv-ky0fZXjfGRTx4JQd2nap26LYy7PlMRod-7rfqLFgmWE4tutdg",
"max_generations": 4,
"generations_used": 0,
"expires_at": "2026-10-20T14:27:00Z"
},
"escalation": {
"id": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7",
"reason": "evaluation_unavailable",
"reviewer": "talent",
"status": "allowed",
"expires_at": "2026-10-27T09:41:00Z",
"resolved_at": "2026-10-20T14:12:00Z",
"note": "Approved for the fall campaign."
},
"remedy": null,
"request_digest": "sha256:bf94817766d56d92211d12f5ff51a3dc1a6d5cb4be2877417b08251fe38c386a",
"licensee": "acct_2q8v1m3n7p4r6s9t0wxyhk5zba",
"platform": "acct_7p4r6s9t0wxyhk5zba2q8v1m3n",
"session": null,
"receipt": "rcpt_hn7bre4e4qpjse60cjecdh49yb",
"metadata": {},
"created_at": "2026-10-20T09:41:00Z"
},
"previous_attributes": {
"status": "escalated",
"decision": "escalate",
"talent": [
{
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"name": "Maya Okafor",
"matched_by": "name",
"confidence": "high",
"decision": "escalate",
"facets": [
"fct_5zba2q8v1m3n7p4r6s9t0wxyhk"
],
"license": "lic_k5zba2q8v1m3n7p4r6s9t0wxyh",
"license_revision": "lrv_p4r6s9t0wxyhk5zba2q8v1m3n7",
"terms_digest": "sha256:39f18c8bef02b5226b9feaa92e526ed30b81b91650d8a10b503281b169f44431",
"escalation": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7"
}
],
"reasons": [
{
"code": "evaluation_unavailable",
"stage": "check",
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"sentence": "This request could not be checked in time, so Maya Okafor's side will review it."
}
],
"obligations": [],
"authorization": null,
"escalation": {
"id": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7",
"reason": "evaluation_unavailable",
"reviewer": "talent",
"status": "open",
"expires_at": "2026-10-27T09:41:00Z",
"resolved_at": null,
"note": null
},
"receipt": null
}
}
}check.resolved
An escalated check was decided or expired.
{
"id": "evt_r95tsmb9qgkm4aavg2evx6qhss",
"object": "event",
"type": "check.resolved",
"api_version": "2026-10-15",
"livemode": true,
"account": "acct_2q8v1m3n7p4r6s9t0wxyhk5zba",
"sequence": 2,
"created_at": "2026-10-20T14:12:01Z",
"data": {
"object": {
"id": "chk_3pg20xkepkscyp0qbpc4yq7ad2",
"object": "check",
"livemode": true,
"status": "allowed",
"decision": "allow",
"talent": [
{
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"name": "Maya Okafor",
"matched_by": "name",
"confidence": "high",
"decision": "allow",
"facets": [
"fct_5zba2q8v1m3n7p4r6s9t0wxyhk"
],
"license": "lic_k5zba2q8v1m3n7p4r6s9t0wxyh",
"license_revision": "lrv_p4r6s9t0wxyhk5zba2q8v1m3n7",
"terms_digest": "sha256:39f18c8bef02b5226b9feaa92e526ed30b81b91650d8a10b503281b169f44431",
"escalation": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7"
}
],
"use": {
"modality": "image",
"kind": "depiction",
"purpose": "advertising",
"commercial": true,
"channels": [
"social",
"web"
],
"territories": [
"US",
"CA"
]
},
"reasons": [],
"obligations": [
{
"type": "generation_check",
"required": "all"
},
{
"type": "hold_until_release",
"reviewer": "talent"
},
{
"type": "draft_watermark"
},
{
"type": "generation_instructions",
"instructions": [
"Keep Maya Okafor the same person: face, skin tone and build unchanged.",
"Do not show alcohol or tobacco.",
"Do not imply she endorses any product other than the one shown."
],
"term": "license:lic_k5zba2q8v1m3n7p4r6s9t0wxyh/terms.neverExtras"
},
{
"type": "disclosure",
"level": "brand",
"placement": "both",
"text": "Made with AI. Maya Okafor's likeness used under license by Ridgeline."
},
{
"type": "c2pa_manifest"
},
{
"type": "no_training",
"material": "outputs"
},
{
"type": "usage_report",
"units": "placements",
"within": "P30D"
}
],
"authorization": {
"token": "eyJhbGciOiJFUzI1NiIsImtpZCI6InJmbC0yMDI2LTEwLWRvY3MzIiwidHlwIjoidGxwLWF1dGgrand0In0.eyJhdWQiOiJhY2N0XzdwNHI2czl0MHd4eWhrNXpiYTJxOHYxbTNuIiwiZXhwIjoxNzkyMjYwOTAwLCJpYXQiOjE3OTIyNjAwMDAsImlzcyI6Imh0dHBzOi8vYXBwLnJlZmxlY3Rpb25zLmFpIiwianRpIjoiY2hrXzNtN3A0cjZzOXQwd3h5aGs1emJhMnE4djFuIiwic3ViIjoiYWNjdF8ycTh2MW0zbjdwNHI2czl0MHd4eWhrNXpiYSIsInRscCI6eyJkZWNpc2lvbiI6ImFsbG93IiwiZXUiOiIzZjljMWE3ZTViMmQ4ZjQwNjFjM2U5YTdiNWQyZjgwMTZlNGM5YTNiN2QxZjVlMmM4YTZiNGQwZjllM2M3YTE1IiwiZXhlY3V0aW9uIjp7Im1vZGVsIjoiaW1hZ2UtbW9kZWwtMyIsInByb3ZpZGVyIjoiZXhhbXBsZS1pbWFnZS1wcm92aWRlciJ9LCJmYWNldHMiOlsiZmN0XzV6YmEycTh2MW0zbjdwNHI2czl0MHd4eWhrIl0sImxpY2Vuc2VzIjpbeyJsaWNlbnNlIjoibGljX2s1emJhMnE4djFtM243cDRyNnM5dDB3eHloIiwicmV2aXNpb24iOiJscnZfcDRyNnM5dDB3eHloazV6YmEycTh2MW0zbjciLCJ0YWxlbnQiOiJ0YWxfOXQwd3h5aGs1emJhMnE4djFtM243cDRyNnMiLCJ0ZXJtc19kaWdlc3QiOiJzaGEyNTY6MzlmMThjOGJlZjAyYjUyMjZiOWZlYWE5MmU1MjZlZDMwYjgxYjkxNjUwZDhhMTBiNTAzMjgxYjE2OWY0NDQzMSJ9XSwibWF4X2dlbmVyYXRpb25zIjo0LCJvYmxpZ2F0aW9ucyI6WyJnZW5lcmF0aW9uX2NoZWNrIiwiaG9sZF91bnRpbF9yZWxlYXNlIiwiZHJhZnRfd2F0ZXJtYXJrIiwiZ2VuZXJhdGlvbl9pbnN0cnVjdGlvbnMiLCJkaXNjbG9zdXJlIiwiYzJwYV9tYW5pZmVzdCIsIm5vX3RyYWluaW5nIiwidXNhZ2VfcmVwb3J0Il0sInJlcXVlc3RfZGlnZXN0Ijoic2hhMjU2OmJmOTQ4MTc3NjZkNTZkOTIyMTFkMTJmNWZmNTFhM2RjMWE2ZDVjYjRiZTI4Nzc0MTdiMDgyNTFmZTM4YzM4NmEiLCJ0YWxlbnQiOlsidGFsXzl0MHd4eWhrNXpiYTJxOHYxbTNuN3A0cjZzIl0sInVzZSI6eyJjaGFubmVscyI6WyJzb2NpYWwiLCJ3ZWIiXSwiY29tbWVyY2lhbCI6dHJ1ZSwia2luZCI6ImRlcGljdGlvbiIsIm1vZGFsaXR5IjoiaW1hZ2UiLCJwdXJwb3NlIjoiYWR2ZXJ0aXNpbmciLCJ0ZXJyaXRvcmllcyI6WyJVUyIsIkNBIl19LCJ2ZXIiOiIxLjAifX0.sbcXipODRBifCQEGJacDUoBBDzW1YzLdbKAv-ky0fZXjfGRTx4JQd2nap26LYy7PlMRod-7rfqLFgmWE4tutdg",
"max_generations": 4,
"generations_used": 0,
"expires_at": "2026-10-20T14:27:00Z"
},
"escalation": {
"id": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7",
"reason": "evaluation_unavailable",
"reviewer": "talent",
"status": "allowed",
"expires_at": "2026-10-27T09:41:00Z",
"resolved_at": "2026-10-20T14:12:00Z",
"note": "Approved for the fall campaign."
},
"remedy": null,
"request_digest": "sha256:bf94817766d56d92211d12f5ff51a3dc1a6d5cb4be2877417b08251fe38c386a",
"licensee": "acct_2q8v1m3n7p4r6s9t0wxyhk5zba",
"platform": "acct_7p4r6s9t0wxyhk5zba2q8v1m3n",
"session": null,
"receipt": "rcpt_hn7bre4e4qpjse60cjecdh49yb",
"metadata": {},
"created_at": "2026-10-20T09:41:00Z"
},
"previous_attributes": {
"status": "escalated",
"decision": "escalate",
"talent": [
{
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"name": "Maya Okafor",
"matched_by": "name",
"confidence": "high",
"decision": "escalate",
"facets": [
"fct_5zba2q8v1m3n7p4r6s9t0wxyhk"
],
"license": "lic_k5zba2q8v1m3n7p4r6s9t0wxyh",
"license_revision": "lrv_p4r6s9t0wxyhk5zba2q8v1m3n7",
"terms_digest": "sha256:39f18c8bef02b5226b9feaa92e526ed30b81b91650d8a10b503281b169f44431",
"escalation": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7"
}
],
"reasons": [
{
"code": "evaluation_unavailable",
"stage": "check",
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"sentence": "This request could not be checked in time, so Maya Okafor's side will review it."
}
],
"obligations": [],
"authorization": null,
"escalation": {
"id": "esc_7nr5ftgs8c3aqh9w2fbp0sbdw7",
"reason": "evaluation_unavailable",
"reviewer": "talent",
"status": "open",
"expires_at": "2026-10-27T09:41:00Z",
"resolved_at": null,
"note": null
},
"receipt": null
}
}
}What to do
- If
decisionisallow, generate now. The authorization covers exactly the request you escalated, bound byrequest_digest, untilauthorization.expires_at. - If
decisionisdeny, showreasons[].sentenceto your user. An expired escalation carrieshold_expired. - Clear the pending state in your product.
2xx within 10 seconds, then do the work. Deliveries can repeat; ignore an event ID you have processed.
Related
Handle escalations
Escalation
Authorizations
Your secret key, rk_test_… or rk_live_…, sent as Authorization: Bearer <key>. Keep it
on your server. Restricted keys carry only the scopes you give them.
Headers
The event ID. Use it to ignore duplicate deliveries.
Unix seconds when this delivery was signed. Reject deliveries more than 5 minutes old.
Space-separated v1,<base64> signatures: HMAC-SHA256 with your endpoint secret over
<webhook-id>.<webhook-timestamp>.<body>. More than one appears while a secret rotates.
Body
Equal to the webhook-id header.
^evt_[0-9a-hjkmnp-tv-z]{26}$Always event.
"event"Always check.resolved.
check.resolved The API version data.object is rendered in.
true for live events, false for test events.
Increases by one with each event about the same object. Ignore an event whose sequence is lower than one you have processed.
When the event happened.
The check in object, and the fields that changed in previous_attributes.
Show child attributes
Show child attributes
The connected licensee the event concerns, when it is not your own account.
^acct_[0-9a-hjkmnp-tv-z]{26}$Response
Return any 2xx status within 10 seconds. Anything else is retried.