Submit a recipient proof-of-open (rev 44 D210)
Recipient-grade (gitvault.read_envelope) PLUS a strict principal self-match: the authenticated principal MUST equal the path's principal_id (never overridable, admin keys included -- proof-of-open is a recipient's own evidence). Mints a recipient_open_receipt recording fsck's own chain_verified_to_generation / decryptable_to_generation split -- the recipient's claim that it opened its envelope through the real reader path (openEpochRotationForRecipient traversal). The gateway verifies ledger consistency (the fingerprint names a live envelope on this vault; decryptable_to_generation does not exceed the newest committed generation; chain_verified_to_generation >= decryptable_to_generation) and refuses OPEN_PROOF_MISMATCH otherwise; THE DECRYPTION CLAIM ITSELF IS HONEST-CLIENT EVIDENCE the server cannot verify, and every consumer (the coverage read's openability dimension) presents it as recipient-attested. IDEMPOTENT on the tuple (principal, fingerprint, decryptable_to_generation): an exact replay returns 200 with the SAME previously-minted receipt. Never lifecycle-gated and never transfer-frozen.
Request
- Base URL: https://api.run402.com
- URL: https://api.run402.com/vaults/v1/{vault_id}/recipients/{principal_id}/proof-of-open
- Auth: one of:
- API key in header SIGN-IN-WITH-X
- HTTP bearer
Path parameters
The vault id (src_<32 hex>); the wire field is repo_id (protocol D185).
The recipient principal submitting the proof -- MUST equal the authenticated caller's own principal.
Headers
SIWX auth header — base64-encoded JSON payload containing a signed CAIP-122 (EIP-4361) message. See https://docs.x402.org/extensions/sign-in-with-x.
Request body
Response
Idempotent replay of the SAME previously-minted receipt for this identical tuple
Changes
No recorded changes to this operation across all 1 revision of this API.