API RESOURCE LIFECYCLE

State transitions, cancellation and retry

Clients integrate against explicit state machines instead of guessing whether a timed-out request was processed.

01

Signing request state machine

created
  → awaiting_approval
  → approved
  → activated
  → signing
  → completed

Terminal/exception states:
rejected · expired · cancelled · provider_unavailable · failed

02

Transition rules

FromActionToIdempotency
createdRequest approval optionsawaiting_approvalSafe repeat
awaiting_approvalVerify WebAuthn approvalapprovedIdempotent by assertion/challenge
approvedActivate signing authorizationactivatedIdempotency key required
activatedExecute signaturesigning/completedIdempotency key required
created/awaiting_approvalCancelcancelledSafe repeat
any non-terminalExpire by policyexpiredServer controlled

03

Asynchronous operations

  • 202 Accepted returns resource URI and retry-after guidance.
  • GET resource supports polling with bounded backoff.
  • Webhook events are at-least-once and must be deduplicated.
  • Cancellation is best-effort after protected execution begins.
  • Partial verification is represented explicitly, never converted to success.