Spec · Verification API

Verification API

POST /api/v1/verify

Verify a signed Passport JWT, or look up a bare identity id.

curl -X POST https://aiidentity.org/api/v1/verify \
  -H "content-type: application/json" \
  -d '{"passport":"eyJhbGciOiJFZERTQSI..."}'

Response

{
  "valid": true,
  "identity": "aii_…",
  "tier": "creator_verified",
  "operator": "Acme Corp Ltd.",
  "trust_score": 84,
  "issued_at": "2026-03-12T00:00:00Z",
  "last_verified_at": "2026-04-29T11:30:00Z",
  "status": "active",
  "registry_url": "https://aiidentity.org/whois/search?q=aii_…"
}

GET /api/v1/whois/[id]

Public registry lookup. Cached at the edge.

curl https://aiidentity.org/api/v1/whois/aii_… 

GET /api/v1/revocations

Public list of recently revoked identities and Passports. Verifiers SHOULD pull this list before trusting a Passport for a high-value operation.

POST /api/v1/issue

Issue a Passport for an identity you own. Requires API key with passport:issue scope.

curl -X POST https://aiidentity.org/api/v1/issue \
  -H "authorization: Bearer aii_live_…" \
  -H "content-type: application/json" \
  -d '{"identity":"aii_…","ttl_days":365}'

GET /.well-known/jwks.json

Public JSON Web Key Set. Use this to verify Passport signatures locally without round-tripping our API.

Authentication

Pass an API key via Authorization: Bearer aii_live_…. Generate keys in your dashboard. Free tier: 1,000 verifications/month per key. Beyond that: $0.001 / call.

Rate limits

  • Unauthenticated: 30 requests / minute / IP
  • Authenticated: 60 requests / minute / org (Verify); 120 / minute (WHOIS)