Audience: Developers
Outcomes: Stable clients; clean retries; predictable responses.
Login (stores cookie)
curl -X POST $API_BASE/api/auth/login \ -H 'Content-Type: application/json' \ -d '{"email":"[email protected]","password":"••••••"}' \ -c cookies.txt
Who am I?
curl -X GET $API_BASE/api/auth/session -b cookies.txt
Node quick client
const axios = require('axios').default.create({ withCredentials: true }); await axios.post(`${API}/api/auth/login`, { email, password }); const me = await axios.get(`${API}/api/auth/session`);
Pagination & filtering
Lists:
?limit=50&cursor=abc
→{ data: [...], nextCursor: "def" }
Filters are concise (e.g.,
?status=InProgress
)
Idempotency
Send a stable reference on create/confirm/release.
Server dedupes and returns the original result.
Errors (common)
UNAUTHORIZED
, FORBIDDEN
, VALIDATION_ERROR
, NOT_FOUND
, RATE_LIMITED
, WEBHOOK_INVALID_SIGNATURE
, PAYMENT_FAILED
, ESCROW_RELEASE_FAILED
, INTERNAL_ERROR
.