A public API to look up the provenance and AI disclosure of any piece of content.
Implements Measure 3.4 of the EU Code of Practice on Transparency of AI-generated content. Any third party — browser extensions, media platforms, law enforcement, regulators — can query AxIA without an account and verify a signed response.
v1 — Production
All endpoints below are live in production. The watermark evidence layer is wired end-to-end (sign-time declarations + verify-time response array). OpenAPI YAML is published and stable.
Base URL
Endpoints
Returns the first-seen registration, classification (original / derived / unknown) and disclosure for a SHA-256.
Returns the signed receipt, publisher identity, AI disclosure and watermark interoperability evidence for a hash.
Upload bytes (or a URL) and receive the same verify response. Bytes are hashed client-side when possible.
Active public signing keys. Lets any verifier check signatures without trusting AxIA at runtime.
Example — GET /verify/{sha256}
Rate limits
- Anonymous: 60 requests / minute / IP.
- With API key: 600 requests / minute / key.
- Enterprise tier on request — no commercial limits for regulators or law enforcement.
Error codes
- 400 — invalid hash or payload.
- 404 — hash not registered in AxIA.
- 409 — identity or key revoked.
- 429 — rate limit exceeded.
- 5xx — AxIA infrastructure error — retry with backoff.
Versioning policy
v1 is frozen. Breaking changes ship under a new path (/v2). Additive, backward-compatible fields may be introduced at any time. Receipt profile axia.receipt.v1 is permanently supported.
Watermark Evidence Layer v0
AxIA registers, preserves and verifies watermark evidence produced by leading transparency technologies — it never produces or detects a proprietary watermark. Each entry in watermark_evidence is explicitly declared (by the signer at signing time) or verified (by a third-party detector). The two are never mixed.
- Google SynthID
- AudioSeal (Meta)
- Stable Signature
- C2PA Content Credentials
Interoperability — declaring third-party evidence
AxIA does not run SynthID, Stable Signature or AudioSeal detectors. Instead, clients that already run those SDKs pass the evidence in the /sign body. AxIA validates the provider against a whitelist and records it as kind='declared' with signed_by_signer=true. The signer asserts, AxIA preserves.
SynthID (Google DeepMind)
Stable Signature (Meta AI)
The same pattern applies to AudioSeal (Meta, audio) and to externally-issued C2PA watermarks. Verified entries (kind='verified', with confidence) come from a separate detector pipeline and are never produced from a /sign body.
Use cases
Internal browser tooling surfacing AI disclosure inline.
Media and platforms verifying provenance before publication.
Regulators and the AI Office auditing transparency claims.
Law enforcement and OSINT verifying chain of custody.