One predictable REST API.
Every endpoint lives under /api/v2 and returns the same {ok,data,meta} envelope. Authenticate with an API key, page through meta, and call escrow, identity and reputation directly.
The shape of every response.
One envelope means you write parsing once and reuse it everywhere.
ok
A boolean. true on success, false on error - check it before you read data.
data
The payload - a resource object on single reads, an array on list endpoints.
meta
Everything else - pagination cursors, totals, rate-limit hints and request context.
errors
On failure, ok is false and a structured error with a stable code and message is returned.
Authenticate in three steps.
Create a key
Generate a scoped API key in your dashboard. Use test keys while building, live keys in production.
Send it as a bearer token
Add Authorization: Bearer
Rotate freely
Revoke and reissue keys at any time. Scopes limit what a key can touch, so leaks stay contained.
Core resources.
The API mirrors how the network actually works - the same primitives that power every node.
Create work, fund escrow, track delivery
Open a project, post tasks, fund escrow and release on delivery. List endpoints page through meta with cursors, so large boards stay fast.
See endpointsBalances, escrow and payouts
Read balances, inspect escrow holds and trigger payouts. Every money movement is auditable and returns the same envelope.
Verified people, portable trust
Fetch verification status (KYC/AML) and reputation scores. Identity is portable across the federated network, so trust travels with the user.
Built for real integrations.
Predictable, versioned and safe to depend on.
Versioned at /api/v2
The version is in the path. Breaking changes ship as a new version, never silently under you.
Fair rate limits
Limits are generous and reported in meta and response headers, so you can back off gracefully.
Idempotent writes
Send an idempotency key on creates to make retries safe - no duplicate escrow or double payouts.
Secure by default
HTTPS only, scoped keys, signed webhooks - on infrastructure with 16+ years and zero breaches.
API questions.
Where is pagination?
In meta. List endpoints return your records in data and a cursor plus totals in meta. Pass the cursor back to fetch the next page - the SDK can do this automatically.
Is id the same as task_id?
No. Object ids and domain identifiers like task_id are distinct fields. Always reference the field the endpoint documents rather than assuming they match.
What happens when I hit a rate limit?
You get a 429 with retry timing in meta and the response headers. Back off and retry - idempotency keys make safe retries trivial.
How are errors structured?
ok is false and an error object with a stable machine-readable code and a human message is returned. Switch on the code, show the message.
Make your first call.
Grab a key, hit /api/v2 and read the {ok,data,meta} envelope back in seconds.