Audit

Submit a signed chain checkpoint to the witness

Records an Ed25519-signed chain checkpoint and returns a receipt signed by Headless Oracle stating when it was received. The receipt attests only that at received_at the witness was shown a checkpoint validly signed by the key with that thumbprint; it does not attest who controls the key or that the records are true. Checks run in order and fail closed with 400 on the first failure: bad_request, bad_checkpoint_shape, bad_checkpoint_field, bad_jwk, kid_mismatch, bad_signature. checkpoint.sig is base64url without padding (86 chars), never hex. A checkpoint's identity is (kid, session_id, count, last_entry_hash): a new identity returns 201, a stored one returns 200 with the stored receipt. About 60 requests per minute per client address, counted per Cloudflare location; 2,000 new anonymous rows per UTC day, best effort. Optional Authorization: Bearer <Evidence plan key> counts against the key's own quota instead (up to 1,000 or 3,000 new checkpoints per UTC day) and is limited at about 600 per minute per address and per account. Full contract and honest limits: GET /v1/witness/spec.

post/v1/witness/checkpoints

Request

  • Base URL: https://api.headlessoracle.com
  • URL: https://api.headlessoracle.com/v1/witness/checkpoints
  • Auth: one of:
    • none
    • HTTP bearer

Request body

Response

Identity already stored; the stored witness receipt

type'witness.checkpoint/1' required
witness'headlessoracle.com' required
received_atstring date-time required
kidstring required
session_idstring required
countstring required

Decimal string.

last_entry_hashstring required
checkpoint_tsstring required
checkpoint_sha256string required

sha256:<hex> over the JCS bytes of the full signed checkpoint, sig included.

fork'true' | 'false' required

Best effort at issue time; detect forks by comparing receipts.

public_key_idstring required
signaturestring required

Lowercase hex, 128 chars.

Changes

No recorded changes to this operation across all 1 revision of this API.