Developer

Getting started

Mint an API key and make your first call.

The fastest path is an API key — your own business's credential. Building something other businesses will connect? See OAuth applications.

1
Mint a key

In the Trabalance dashboard, a Super Administrator opens Settings → API keys & webhooks → New key. Name it, tick the scopes it needs (only scopes you hold yourself are offered), and choose whether it may also drive AI assistants. The key is shown once.

2
Make a call
bash
curl https://api.trabalance.com/api/v1/customers?page_size=5 \
-H "Authorization: Bearer tk_live_…"
3
Create something

Send Idempotency-Key on every write — a retry within 24 hours returns the original response instead of creating a duplicate.

bash
curl -X POST https://api.trabalance.com/api/v1/customers \
-H "Authorization: Bearer tk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 8c1f2a7e-…" \
-d '{ "name": "Acme Corp", "email": "[email protected]", "currency": "USD" }'

What a response looks like

Every success is an envelope; every error names itself.

json
{ "status": "success", "message": "Customers successfully retrieved",
"data": { "items": [ … ], "pagination": { "total_count": 128, "page": 1, "pageSize": 5, "has_next": true, "has_prev": false } } }

{ "error": "validation_error", "error_description": "name: Invalid input: expected string, received undefined",
"details": [ { "field": "name", "message": "Invalid input: expected string, received undefined" } ] }
ℹ️Base URL

https://api.trabalance.com/api/v1. Discovery: GET /api/v1. OpenAPI: GET /api/v1/openapi.json. For agents: GET /api/v1/llms.txt.

Testing

There is no separate sandbox in v1. Test against a trial business with a key of its own; every write is idempotent and every read is scoped to that business, so nothing you do can reach another business's data.