Documentation
Quickstart
Authentication
The API authenticates with a secret key sent as a bearer token. Live keys are prefixed sk_live_ and test keys sk_test_. Keys carry scopes; a key without the write scope can read balances but cannot post entries.
Never ship a live key to a browser or mobile client. Rotate from the dashboard under Developers → API keys; a rotated key stops working immediately.
Your first transfer
curl https://api.tallyspan.xyz/v1/transfers \ -H "Authorization: Bearer sk_live_…" \ -d "amount=4200" \ -d "currency=usd" \ -d "from=acct_18fJq2" \ -d "to=acct_9dK01x" \ -d "idempotency_key=8f2c1a"
Errors
Errors return a JSON object with code, message and request_id. Include the request id in any support thread. Authentication failures return 401; a key that is valid but lacks the required scope returns 403.
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid credentials.",
"request_id": "6d85e709-7248-4dbf-8723-27e91b24ae1e"
}
}Rate limits
Requests are limited per key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Exceeding the limit returns 429 with Retry-After.