ZZanoraDocs

Endpoints

Seller profiles, verification requests, ratings and payout destinations.

GET/v1/providers

Scope providers:read. The result depends on your key: a provider key sees itself, and a workspace key sees verified sellers only (the same rule discovery uses).

GET/v1/providers/:id

Scope providers:read. One provider: name, verified, status (pending_verification, active or suspended), reputation (0 to 1), website, and your own verification request (requested, approved or denied, with note, reason and timestamps).

POST/v1/providers/:id/verification-request

Scope providers:read, owner only. Asks to be verified. Body is optional: { note?, contact? }. Asking again while requested updates the request and keeps its place in the queue. Asking after a denial starts a new request. See Getting verified.

POST/v1/providers/:id/rate

Scope ratings:write (workspace key). Rates a seller for a purchase.

FieldTypeRequired
transactionIdstring, from the receiptyes
ratinginteger 1–5yes
raterWalletIdstring, your wallet that paidyes
raterAgentIdstringno

Your wallet must hold a receipt for that transaction, from this provider. One rating per transaction. Returns 404 if there's no receipt, 403 if it's not your purchase or the wrong provider, and 400 if it's already rated or out of range.

PUT/v1/providers/:id/payout-destination

Scope payouts:write, owner only. Registers where payouts go.

FieldTypeRequiredNotes
destinationstringyesext_… for bank rails, a 0x… address for USDC
asset"USD" | "USDC"no
chain"base"nofor USDC

The first registration is usable immediately. A change freezes payouts for that rail and asset for 24 hours and sends an alert.

GET/v1/providers/:id/payout-destinations

Scope payouts:write, owner only. The registered destinations, one per chain and asset, with when each becomes usable.