Skip to content

Approval.refused

Emitted each time an Approval is refused.

Approval.refuse emits Approval.refused when it completes on an Approval.

PropertyValue
Emitted byApproval.refuse
NounApproval
MovesAction pending to refused when the Approval holds this Action; Approval pending to refused
WakesNone.

Payload

Each delivery is an Event record. data holds what Approval.refuse returns, and previous holds the state it left.

FieldTypeRequiredDescription
namestringrequiredApproval.refused.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.approvalApprovalrequiredThe refused Approval.
data.approval.statusstringrequiredOne of pending, done, failed, canceled, or refused.
data.approval.reasonstringWhy a pending Action waits: queued, running, retrying, awaitingWorker, awaitingInput, awaitingSource, awaitingAction, or awaitingTime.
data.approval.modestringrequiredHow the caller invoked it: try, send, or do.
data.approval.byWorkerThe Worker that performed it.
data.approval.forPartyThe Party it was done on behalf of.
data.approval.viastringThe Interface or request it arrived through.
data.approval.onstringThe Action or Event that caused it, such as the failed attempt a retry follows.
data.approval.thingstringThe record, at the Version the Action was decided against.
data.approval.inputjsonThe input it was called with.
data.approval.createdAtdatetimeWhen it was called.
data.approval.reservedmoneyThe most this Action may cost, held against its Limits from the check until it settles, billed misses included.
data.approval.duedatetimeWhen the Task is due.
data.approval.priorityintegerIts rank in the inbox, highest first.
data.approval.recurrencestringThe schedule a recurring duty repeats on.
data.approval.verdictstringOne of allowed or refused.
data.approval.deadlinedatetimeWhen an unanswered Approval cancels the Action.
data.previous.statusstringrequiredThe status before this Event: pending.

Example

JSON
{
  "$id": "https://api.sb/shiftnote.app/events/event_1",
  "$type": "Event",
  "name": "Approval.refused",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "approval": {
      "$id": "https://api.sb/shiftnote.app/approvals/approval_1",
      "$type": "Approval",
      "status": "refused",
      "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"
    },
    "previous": {
      "status": "pending"
    }
  },
  "seq": 1
}