Developers · API v1

Authorization check

Ask before you serve or publish content with a real person: is this content authorised by the person shown in it? Every check returns an evidence record you can store.

Base URL: https://thepersonagrata.com/api/v1
Authorization: Bearer <your API key>   (only where marked)

POST/authorization-checkAPI key

Run a check. Identify the subject by pg_id or by handle + platform. content.url is required; content.proof_id or a C2PA manifest string containing a PRF- reference is used to match a campaign proof.

{
  "subject": { "pg_id": "PG-7F3A9C" },
  "content": { "url": "https://ads.example.com/creative/123", "proof_id": "PRF-AB12CD34" },
  "uploader": { "name": "Nova Beauty" }
}
{
  "check_id": "AUC-…",
  "result": "authorized | not_authorized | unknown_person | needs_review",
  "evidence_url": "https://thepersonagrata.com/api/v1/authorization-check/AUC-…/evidence"
}

GET/authorization-check/{id}/evidenceAPI key

Fetch the stored evidence record for a previous check.

GET/register/{pgId}Public

Public register summary for a PG-ID. Contains no private data.

GET/consents/{id}/ai-packageAPI key

AI Act package for a consent: techniques, regions and label links.

GET/consents/{id}/ai-package/label?lang=en&variant=badgePublic

SVG label (badge or overlay) in English or German.

Notes

  • "unknown_person" means there is no record. It does not mean the content is allowed.
  • Rate limit: 300 requests per minute per organisation.