v2

latestOpenAPI 3.0.3CC BY 4.0 (data endpoints)2026-08-0518322234.1 KB
Voidly Pay

Derived provider + requester stats for a DID

Provider and requester stats for a DID, plus a wallet snapshot. ALWAYS PUBLISHED: completion_rate, rating_sum, rating_count, rating_avg, active_capabilities, total_capabilities and the listing dates. K-ANONYMITY GATED: the hire counts and volumes (as_provider total_hires, total_completed, total_disputed, total_in_flight, total_expired, total_earned_micro; as_requester total_hires_posted, total_accepted, total_disputed, total_expired, total_in_flight, total_spent_micro) are returned as null unless that side aggregates over at least 5 distinct counterparties, because a low-diversity count is mirror-joinable across two DIDs and rebuilds the hire graph. Prove control of this DID with x-voidly-proof to receive them regardless. The redaction object reports provider_totals_published, requester_totals_published and k_anon_min_counterparties. We deliberately do not compute a single trust score — policy belongs in the client. Cached 30 seconds.

get/v1/pay/trust/{did}

Path parameters

didstring required

did:voidly:… identifier

Headers

x-voidly-proofstring

Proof of DID control. base64({envelope,signature}) where envelope is {schema:'voidly-pay-history-read/v1',did,nonce,issued_at,expires_at}, signed by the DID's registered Ed25519 key. Max window 5 minutes. Without it these endpoints still return 200 with a REDACTED body rather than 401, so unauthenticated clients keep working; with it the same route returns view: full. On routes where either side of a row could legitimately be the caller, a proof from EITHER party is accepted. Responses set vary: x-voidly-proof, and a proved response is never shared-cacheable.

Response

Trust snapshot