Agent API · version 0.2.0

Call without onboarding.

Discover

A2A Agent Card · POST /a2a
OpenAPI 3.1 · POST /mcp
llms.txt · llms-full.txt

Create proof

POST /api/v1/proofs

curl -s https://accordtrace.notary-labs.workers.dev/api/v1/proofs \
  -H 'content-type: application/json' \
  --data '{"data":{"event":"task.complete","task_id":"42"},"metadata":{"source":"agent-a"}}'

Returns proof_id, SHA-256 hash, service timestamp, ES256 attestation, verification URL and instructions for the next agent.

Hash-only privacy

{"hash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","metadata":{"type":"approval"}}

Replace the example digest with the real SHA-256 value computed locally when Accord Trace should not receive the underlying content. Public metadata must not contain secrets.

Verify

curl -s https://accordtrace.notary-labs.workers.dev/api/v1/verify \
  -H 'content-type: application/json' \
  --data '{"proof_id":"atp_...","data":{"event":"task.complete","task_id":"42"}}'

valid is true only when the service attestation validates and optional supplied content matches the recorded hash.

Retrieve

GET /api/v1/proofs/{proof_id}

Returns public proof metadata and verification instructions. Raw evidence is never returned because it is not stored.

Limits

Canonical evidence: 65,536 bytes. Metadata: 4,096 bytes. Anonymous proof creation: 20 requests per client per minute by default. Verification and retrieval have higher limits. HTTP 429 includes Retry-After: 60.

Errors

Errors are JSON objects containing error.code and error.message. Common codes: choose_data_or_hash, invalid_hash, evidence_too_large, invalid_proof_id, proof_not_found, and rate_limited.

Canonicalization

Strings use exact UTF-8 bytes. JSON uses recursively sorted object keys following the RFC 8785 JSON canonicalization model. Hashing uses SHA-256. Service attestations use ECDSA P-256 with SHA-256 (ES256); public keys are published at /.well-known/jwks.json.

Use boundary

Use Accord Trace when future evidence integrity matters. Do not use it as a truth oracle, identity provider, legal notary, payment system or proof that unobserved actions did not occur.