The API

Read your approved months, statements and lines from your own systems. Read-only, one workspace per key.

Keys

The workspace owner creates a key under Billing, gives it a name that says what uses it, and copies it once: only a fingerprint is stored, so a lost key is revoked and replaced, never recovered. A key reads one workspace and can change nothing. Revoking it takes effect on the next request.

curl -H "Authorization: Bearer ask_…" \
  https://app.algosplit.com/api/v1/periods

What it can see

Only finished months: periods that are approved or paid, and the statements of the run that was approved. A month still in review can change, and a payroll script that read it would hold a number nobody agreed.

Money is integer minor units with its currency, exactly as stored: 123456 with USD is 1,234.56. Nothing is rounded or converted on the way out.

Endpoints

GET /api/v1/periods
Approved and paid months, newest first: id, label, dates, state.
GET /api/v1/periods/:id/statements
One row per person for that month: statement id, payee, gross, net, currency, attainment, and when it was published.
GET /api/v1/statements/:id
The statement with every line: kind, component, deal, basis, rate and amount. The lines sum to the net.
GET /api/v1/payees
Everyone in the workspace: id, name, email, role, CRM owner id, dates.

Limits and errors

120 requests a minute per key. Every response carries x-ratelimit-remaining and x-ratelimit-reset; over the limit is a 429 with retry-after. Errors are JSON with a code, a sentence saying what to do, and a request_id to quote to us.