{
"id": "evt_w761tpmf4w7qa0t9vzqs6pj3a8",
"object": "event",
"type": "statement.disputed",
"api_version": "2026-10-15",
"livemode": true,
"account": null,
"sequence": 2,
"created_at": "2026-10-05T14:22:11Z",
"data": {
"object": {
"id": "stmt_5p7r9t1v3x5z7b9d1f3h5k7m9q",
"object": "statement",
"livemode": true,
"license": "lic_ba2q8v1m3n7p4r6s9t0wxyhk5z",
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"licensee": "acct_7p4r6s9t0wxyhk5zba2q8v1m3n",
"status": "disputed",
"period": {
"start": "2026-09-01T00:00:00Z",
"end": "2026-10-01T00:00:00Z"
},
"currency": "usd",
"lines": [
{
"description": "Speech in Maya Okafor's voice",
"units": "seconds",
"reported": 41200,
"observed": 41236,
"billable": 41236,
"rate": {
"amount": 2,
"currency": "usd"
},
"amount": 82472
}
],
"amount_due": 82472,
"amount_paid": 0,
"reconciliation": {
"result": "under_reported",
"detail": "36 seconds observed in generations with no usage record."
},
"payments": [],
"due_at": "2026-10-31T00:00:00Z",
"issued_at": "2026-10-02T08:00:00Z",
"document_url": "https://app.reflections.ai/statements/stmt_5p7r9t1v3x5z7b9d1f3h5k7m9q",
"created_at": "2026-09-01T00:00:00Z",
"dispute": {
"reason": "36 seconds of September speech have no usage record. Report them so the statement reconciles.",
"disputed_at": "2026-10-05T14:22:10Z"
}
},
"previous_attributes": {
"status": "issued",
"dispute": null
}
}
}statement.disputed
The talent’s side disputed a statement for a license you hold.
{
"id": "evt_w761tpmf4w7qa0t9vzqs6pj3a8",
"object": "event",
"type": "statement.disputed",
"api_version": "2026-10-15",
"livemode": true,
"account": null,
"sequence": 2,
"created_at": "2026-10-05T14:22:11Z",
"data": {
"object": {
"id": "stmt_5p7r9t1v3x5z7b9d1f3h5k7m9q",
"object": "statement",
"livemode": true,
"license": "lic_ba2q8v1m3n7p4r6s9t0wxyhk5z",
"talent": "tal_9t0wxyhk5zba2q8v1m3n7p4r6s",
"licensee": "acct_7p4r6s9t0wxyhk5zba2q8v1m3n",
"status": "disputed",
"period": {
"start": "2026-09-01T00:00:00Z",
"end": "2026-10-01T00:00:00Z"
},
"currency": "usd",
"lines": [
{
"description": "Speech in Maya Okafor's voice",
"units": "seconds",
"reported": 41200,
"observed": 41236,
"billable": 41236,
"rate": {
"amount": 2,
"currency": "usd"
},
"amount": 82472
}
],
"amount_due": 82472,
"amount_paid": 0,
"reconciliation": {
"result": "under_reported",
"detail": "36 seconds observed in generations with no usage record."
},
"payments": [],
"due_at": "2026-10-31T00:00:00Z",
"issued_at": "2026-10-02T08:00:00Z",
"document_url": "https://app.reflections.ai/statements/stmt_5p7r9t1v3x5z7b9d1f3h5k7m9q",
"created_at": "2026-09-01T00:00:00Z",
"dispute": {
"reason": "36 seconds of September speech have no usage record. Report them so the statement reconciles.",
"disputed_at": "2026-10-05T14:22:10Z"
}
},
"previous_attributes": {
"status": "issued",
"dispute": null
}
}
}What to do
- Read
dispute.reasonand compare the statement’s lines with your usage records. - Correct missing or wrong usage records, or record the payment. The statement is reissued with
statement.issuedwhen they change.
2xx within 10 seconds, then do the work. Deliveries can repeat; ignore an event ID you have processed.
Related
Usage and settlement
Report usage
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"statement.issued: a statement is final for its month, or was reissued.
statement.disputed: the talent's side disputed it.
statement.issued, statement.disputed 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 statement the event is about.
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.