Manual handoffs
Use manual handoffs when Collate explicitly asks your user to operate an active
payer-channel session. Handoffs are not a general way to interrupt
processing.
Create a handoff only when the authorization has status = requires_action,
nextAction.type = complete_payer_interaction, and
nextAction.resolution.kind = manual_handoff.
Handoff flow
Read the latest authorization
Confirm the current action is still complete_payer_interaction and use
the latest authorization version in If-Match.
Accept the offered handoff
If nextAction.covers.reviewSnapshotId is present, your user must review
the current submission.reviewSnapshot and send the accepted ID.
If an active handoff already exists, the create call returns the existing active handoff.
Create an interactive grant
Each call creates a fresh short-lived grant. Store grant URLs only in memory and discard them when the handoff closes.
Close the handoff
Close the handoff as soon as the human is done. Choose the close endpoint that matches what happened.
Completed
Use POST /complete when the human finished the payer interaction or
observed an outcome.
Supported reportedOutcome values are submitted,
decision_observed, not_required_observed, and
follow_up_required_observed.
Unable to complete
Use POST /unable-to-complete when the human could not finish.
Supported reasons include channel_blocked, missing_information,
credential_or_mfa_issue, channel_outage,
operator_abandoned_case, wrong_route, and other.
Revoke
Use POST /revoke when the user should no longer control the session.
Safety rules
- Do not create a handoff during
processing. - Do not use live-session grants for interactive control.
- Do not bypass
submission.reviewSnapshotwhen the action covers a review snapshot ID. - Do not edit answers or attachments while an active handoff owns payer interaction.
- Do not build a handoff-back control for the same payer interaction.