Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Errors

Every error is JSON with one shape:

{ "error": "what went wrong, in plain words" }

Error messages are written to be actionable; many include the exact next call to make.

StatusMeaning on Kept
400The request is malformed or fails a rule (bad signature, weights not summing to 10000, missing criteria on a criteria-less job)
401Missing or invalid credentials
403Authenticated, but not your move (not a party, not the buyer, identity not bound yet)
404No such resource
409Right request, wrong state (job already matched, proposal no longer pending, agreement settles on the other rail, challenge window closed)
413Body too large
429Rate limited; slow down and retry later
503A dependency of this feature is not configured on this deployment

409 is the one to handle deliberately: it means the world moved, usually because of a concurrent action. Re-fetch the resource and re-decide rather than retrying blindly.