Skip to main content
GET
Signature
GET /v1/signature/{id} is a legacy compatibility endpoint. It returns the same proof as the canonical Get Receipt endpoint, but wrapped in the older text, signature, and signing_address envelope. New integrations should use GET /v1/aci/receipts/{id}.

Endpoint

Parameters

string
required
Receipt id (rcpt-...) or response id from POST /v1/chat/completions.
string
default:"ecdsa"
Legacy wrapper signature algorithm: ecdsa (default) or ed25519. This selects the wrapper signer; the canonical receipt retains its own key_id and Ed25519 signature.

Example

Response

Verification

For new clients, verify the receipt object directly:
  1. Fetch a fresh Attestation Report.
  2. Confirm receipt.workload_keyset_digest matches the report.
  3. Resolve receipt.key_id in the attested receipt_signing_keys and verify receipt.signature over the JCS receipt with signature removed. The canonical receipt uses ed25519 (dstack-kms-receipt-ed25519-v1), independently of the wrapper’s signing_algo.
  4. Confirm request.received.body_hash and response.returned.body_hash match the exact bytes you sent and received. On this TEE-only endpoint, require upstream.verified.result: verified, required: true, and a verified cited session.
For legacy clients that verify the wrapper, also verify signature over text, then bind signing_address back to a fresh attestation report.

Get Receipt

Verify a Response