POST /api/v1/verify/batch
Verify multiple agents in a single request. Returns the same data as GET /verify/:hash for each agent.
Auth: None (public)
Base URL: https://provenonce.io
Request
curl -X POST https://provenonce.io/api/v1/verify/batch \
-H "Content-Type: application/json" \
-d '{
"hashes": [
"0xfd752396e4fa9ed34d1e3e3218700ef6aafcaeecad5cb72e1a4ff177417f0373",
"0x3003b896a1b2c3d4e5f6789012345678901234567890123456789012345678ab"
]
}'Request body
| Field | Type | Required | Description |
|---|---|---|---|
hashes | string[] | Yes | Array of 1-50 agent hashes (each 0x + 64 hex characters) |
Response
{
"results": [
{
"verified": true,
"standing": "active",
"agent": { "hash": "0xfd752396...", "type": "root", "depth": 0, ... },
"sigil": { "identity_class": "autonomous", ... },
"passport": null,
"lineage_proof": null,
"beat_state": { "lifetime_beats": 2200, ... },
"network": { "current_anchor_index": 10423, "anchor_degraded": false },
"lineage": [ ... ],
"root": { ... }
},
{
"verified": false,
"hash": "0x3003b896...",
"error": "Agent hash not found"
}
],
"summary": {
"total": 2,
"verified": 1,
"not_found": 1
}
}Each result in the results array has the same shape as the single GET /verify/:hash response. Not-found agents return { verified: false, hash, error }.
Error responses
| Status | Body | Cause |
|---|---|---|
| 400 | {"error": "...", "code": "INVALID_INPUT"} | Missing or empty hashes array |
| 400 | {"error": "...", "code": "BATCH_TOO_LARGE"} | More than 50 hashes |
| 400 | {"error": "...", "code": "INVALID_HASH"} | Hash format invalid |
| 429 | {"error": "...", "code": "RATE_LIMITED"} | Rate limit exceeded |