All handoff endpoints require Bearer token authentication.
POST /v1/handoff
Append a signed handoff to a workspace’s chain. The server resolvesprev_handoff_id and
prev_signature from the latest entry in the workspace — a client cannot fork the chain by
supplying stale prev links.
POST
https://api.prysm1.com/v1/handoff · Auth requiredRequest Body
string
required
The workspace this handoff belongs to. Anchors the chain.
string
required
What this agent session accomplished (1–500 chars).
string
The agent/tool handing off (e.g.
"cursor", "claude-code").string
The agent/tool receiving (e.g.
"claude-code", "human").string[]
List of file paths modified in this session.
string[]
Constraints the next agent must respect (e.g.
"Do not modify public API").object[]
Identified risks:
[{"id": "r1", "description": "Auth regression risk"}].object[]
How to verify this work is correct:
[{"id": "v1", "description": "All auth tests green"}].string
What the receiving agent should do first.
string
Type of work:
edit | refactor | deploy | review | setup. Default: edit.number
Estimated cost in USD for this session (informational; recorded in the signed receipt).
Response
Returns the full signed receipt. Key fields:string
Unique handoff ID (
ho_...).string
Echoed workspace ID.
string
Echoed objective.
string | null
Previous entry’s ID (null for first entry).
object
Risk assessment:
score, tier (auto/confirm/approve/block), factors.string
The canonical JSON string that was signed.
boolean
True when an Ed25519 signing key is provisioned.
string
ISO 8601 timestamp.
GET /v1/handoff/
Fetch a single signed handoff by ID.GET
https://api.prysm1.com/v1/handoff/{handoff_id} · Auth requiredstring
required
The
ho_... ID returned by POST /v1/handoff.GET /v1/handoff/chain/
Fetch the full ordered handoff chain for a workspace and verify its cryptographic integrity.GET
https://api.prysm1.com/v1/handoff/chain/{workspace_id} · Auth requiredstring
required
The workspace whose chain to retrieve.
Response
string
handoff.chainstring
Echoed workspace ID.
integer
Total entries in the chain.
object[]
Ordered entries (oldest first).
object
Integrity verdict:
ok (bool), n (entries verified), first_broken_index (null if intact),
reasons (list of break descriptions), signing_enabled (bool).string
URL to fetch the public signing key for offline verification.