AUDRIEDOCS

Introduction

What the Audrie API does, where it lives, and the one call that needs no account.

The Audrie API answers one question: was this exact document cryptographically authenticated, by whom, and is that still true today?

You send a SHA-256 hash and receive a verdict. Audrie never receives the document.

Base URL

https://api.audrie.io

Every request and response is JSON. All timestamps are RFC 3339 in UTC.

Verify a document in one call

No account, no credential:

curl -sX POST https://api.audrie.io/v1/verifications \
  -H "Content-Type: application/json" \
  -d '{"originalDocHash":"sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}'

Compute the hash yourself with sha256sum contract.pdf, and prefix it with sha256:. Quickstart walks through the response field by field.

What a credential adds

Nothing about the verdict. A key from the portal (Settings → Organisation → API credentials) raises your rate limit, gives you a durable verification log you can reconcile against, and echoes your own reference back on every verification.

Read disclosureTier on the response rather than inferring it from whether you sent a key. See Disclosure tiers for which fields each tier carries, and API keys for issuing, scopes, rotation and revocation.

Authenticate as your organisation

With an organisation key that has the records:write scope you can also authenticate the documents your organisation issues, and with records:revoke revoke them later. A key has neither unless it was created with them, and the add-on must be enabled. A check shows that an organisation, not an individual, stands behind the record, and the organisation tier also names it. When a named person must be accountable, that person authenticates in the portal instead. See authenticate as your organisation.

Retrying is safe. A credentialed verification is recorded in your log each time it succeeds, so reconcile on verificationId rather than assuming one row per attempt.

Where to go next

The raw contract is at /docs/openapi.yaml. It is hand-written, reviewed before implementation, and authoritative for every field and value.

On this page