Acknowledge a receipt
acknowledge_receiptCounter-sign a receipt this item earned, so both sides hold it: a promise, a change both sides agreed to it (kind amended), how it ended, or a refund's. Read the item to find its receipts; then send a compact JWS signed with your own Ed25519 key — header {alg:'EdDSA', typ:'sdi-receipt-ack+jws', jwk:}, payload {rcp:, sha:<base64url(SHA-256(receipt jws))>, iat:}. The instance verifies it against the key you carry and keeps it. Acknowledging twice is harmless.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | The person's key (sdkey1_…), if that is all you have: it is exchanged once for a pass, which comes back in identity.passes — keep the pass and send it next time instead. Never stored. | |
| pass | No | The person's passes (sdpass1_…), space-separated, at most 8: presented to the network that issued each, so the business recognises the customer. Or send them in the Sdi-Pass header. Never stored. | |
| item_id | Yes | ||
| receipt | No | The receipt JWS being acknowledged, if you want the instance to check it is the one it holds. | |
| receipt_id | No | The receipt to acknowledge, for an agent that signs this request (sdi-agent/1) with a key delegated to the pass reference it sends: the inbox forwards the signature to the network (ADR-017 §3.4). Send this or counter_signature. | |
| access_token | No | Capability secret returned when the item was created without an account. | |
| counter_signature | No | A compact JWS by the customer's agent, EdDSA, header carrying its Ed25519 public `jwk`, payload `{"rcp": "<receipt id>", "sha": "<base64url(SHA-256(receipt JWS))>", "iat": <unix seconds>}`. Or, for an agent that signs its requests instead (sdi-agent/1) and carries a pass reference, `receipt_id` alone. |