API Reference

The AdPriva API lets developers fetch, verify and export cryptographic proofs of ad engagements.

All requests require authentication with your API key (available in the Developer Dashboard).

Base URL

https://api.adpriva.com/v1

Authentication

Include your API key in the header:

Authorization: Bearer YOUR_API_KEY

Example with curl:

curl -H "Authorization: Bearer YOUR_API_KEY" https://api.adpriva.com/v1/proofs

Endpoints

1. List Proofs

Retrieve proofs (Consent Receipts, Bounded-Use Proofs, Engagement Proofs).

Request

GET /proofs?campaignId=summer-sale-2025&type=click

Response

[
  {
    "proof_id": "PRF_12345",
    "type": "click",
    "campaign_id": "summer-sale-2025",
    "publisher_id": "PUB_67890",
    "timestamp": "2025-09-25T12:34:56Z",
    "valid": true
  }
]

2. Verify a Proof

Check if a specific proof is valid.

Request

GET /verify/PRF_12345

Response

{
  "proof_id": "PRF_12345",
  "valid": true,
  "zk_verified": true,
  "anchor_ref": "https://explorer.adpriva.com/PRF_12345"
}

3. Get Snapshots

Fetch tamper-evident Merkle-root snapshots for audits.

Request

GET /snapshots/2025-09-24

Response

{
  "date": "2025-09-24",
  "merkle_root": "0xabc123...",
  "anchor_tx": "0xdef456...",
  "explorer_url": "https://explorer.adpriva.com/snapshots/2025-09-24"
}

4. Export Portable Verification Certificate (PVC)

Generate a compliance-ready certificate for campaigns (PDF or JSON).

Request

POST /certificates/export
Content-Type: application/json
{
  "campaignId": "summer-sale-2025",
  "format": "pdf"
}

Response

{
  "certificate_id": "PVC_99999",
  "format": "pdf",
  "url": "https://cdn.adpriva.com/certificates/PVC_99999.pdf"
}

5. Server-to-Server (S2S) Conversion Tracking

Track post-click conversions (purchases, installs, signups).

Request

POST /conversions
Content-Type: application/json
{
  "click_proof_id": "PRF_12345",
  "event": "purchase",
  "value": 49.99,
  "currency": "USD",
  "timestamp": "2025-09-25T14:12:00Z",
  "signature": "hmac_sha256_signature"
}

Response

{
  "conversion_id": "CNV_55555",
  "status": "verified",
  "proof_id": "PRF_12345"
}

Notes

  • Rate Limits → 100 requests/sec per API key
  • Error Handling → errors return JSON with code + message (e.g. 401, 404, 500)
  • SDKs → official SDKs in JavaScript, Python, Go (see Developer Docs)
  • Sandbox/Testnet → use https://sandbox.api.adpriva.com/v1 for safe testing

With the AdPriva API, every ad interaction can be fetched, verified and certified bringing cryptographic trustinto your campaigns.

{% @mermaid/diagram content="sequenceDiagram
participant D as Developer Client
participant A as AdPriva API
participant P as Proof Engine
participant X as AdPriva Explorer
participant R as Response
D->>A: HTTPS Request (with API Key)
A->>P: Validate & Process Proof Request
P-->>A: Proof Status / Snapshot / Certificate
A->>X: (Optional) Log or Fetch Anchored Proof
A-->>D: JSON Response
D->>R: Display results in dashboard or app" %}