Approval.approved
Emitted each time an Approval is approved.
Approval.approve emits Approval.approved when it completes on an Approval.
| Property | Value |
|---|---|
| Emitted by | Approval.approve |
| Noun | Approval |
| Moves | Approval pending to approved |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds what Approval.approve returns.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Approval.approved. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.approval | Approval | required | The approved Approval. |
data.approval.status | string | required | One of pending, done, failed, canceled, or refused. |
data.approval.reason | string | Why a pending Action waits: queued, running, retrying, awaitingWorker, awaitingInput, awaitingSource, awaitingAction, or awaitingTime. | |
data.approval.mode | string | required | How the caller invoked it: try, send, or do. |
data.approval.by | Worker | The Worker that performed it. | |
data.approval.for | Party | The Party it was done on behalf of. | |
data.approval.via | string | The Interface or request it arrived through. | |
data.approval.on | string | The Action or Event that caused it, such as the failed attempt a retry follows. | |
data.approval.thing | string | The record, at the Version the Action was decided against. | |
data.approval.input | json | The input it was called with. | |
data.approval.createdAt | datetime | When it was called. | |
data.approval.reserved | money | The most this Action may cost, held against its Limits from the check until it settles, billed misses included. | |
data.approval.due | datetime | When the Task is due. | |
data.approval.priority | integer | Its rank in the inbox, highest first. | |
data.approval.recurrence | string | The schedule a recurring duty repeats on. | |
data.approval.verdict | string | One of allowed or refused. | |
data.approval.deadline | datetime | When an unanswered Approval cancels the Action. |
Example
{
"$id": "https: //api.sb/ shiftnote.app/ events/ event_1",
"$type": "Event",
"name": "Approval.approved",
"at": "2026-10-22T12: 00: 00Z",
"data": {
"approval": {
"$id": "https: //api.sb/ shiftnote.app/ approvals/ approval_1",
"$type": "Approval",
"status": "pending",
"reason": "queued",
"mode": "try",
"by": "worker_1",
"for": "party_1",
"via": "API",
"on": "Invoice.overdue",
"thing": "invoice_1@v3",
"input": {},
"createdAt": "2026-10-22T12: 00: 00Z",
"reserved": {
"amount": 79,
"currency": "USD"
},
"due": "2026-10-22T12: 00: 00Z",
"priority": 1,
"recurrence": "Weekly on Friday",
"verdict": "allowed",
"deadline": "2026-10-22T12: 00: 00Z"
}
},
"seq": 1
}