Verification History

View as Markdown

When to use

You want a per-event audit trail of your verifier activity for compliance, billing, or anti-abuse triage.

Before you begin

  • Verifier role.
  • Some history (i.e., you have run verifications).

Steps

  1. Navigate to /verifier/history. 2. Filter by:
    • Outcome — verified / failed.
    • Issuer — DID type-ahead.
    • Schema.
    • Date range.
  2. Click any row for the full request/response envelope.

API

$curl "https://adid.dev/api/v1/verifications/history?limit=50&offset=0" \
> -H "Authorization: Bearer $ACCESS_TOKEN"

(verifier.go:32, registered at router.go:161.)

Response:

1{
2 "data":[
3 { "id":"ver-uuid-1", "ts":"2026-04-26T11:00:00Z", "verified":true, "holderDid":"...", "issuerDid":"...", "schemaId":"...", "reasons":[] },
4 { "id":"ver-uuid-2", "ts":"2026-04-26T11:01:00Z", "verified":false, "holderDid":"...", "issuerDid":"...", "schemaId":"...", "reasons":[{"code":"REVOKED"}] }
5 ],
6 "total": 2
7}

The companion endpoint GET /api/v1/verifications/stats (verifier.go:123, router.go:162) returns aggregate counters for dashboards.

Adding a record manually

Verifiers can record verifications performed by their own off-platform infrastructure:

$curl -X POST https://adid.dev/api/v1/verifications \
> -H "Authorization: Bearer $ACCESS_TOKEN" \
> -H "Content-Type: application/json" \
> -d '{
> "holderDid":"did:adi:0x9a2c...",
> "issuerDid":"did:adi:0xUniv...",
> "schemaId":"schema-uuid-1",
> "verified":true,
> "reasons":[]
> }'

(verifier.go:325, router.go:163 — guarded by RequireRoles("verifier").)

Export

Click Download CSV for an export of the current filtered slice.

Troubleshooting

SymptomCauseFix
History emptyAll verifications used the public endpoint without authThe platform doesn’t track unauthenticated verifications by default. Use the verifier-scoped endpoints to record them.
Counts disagreeTime-zoneAll timestamps are UTC.