Wrong page? This is the ledger: accounts, postings, balances, reconciliation. If you are
here to decide whether your software may spend before it does, start with Kordio Control:
authorize an agent action.
https://api.kordio.io. OAuth lives at /oauth/token; ledger resources live
under /ledger/v1.
1. Get your client credentials
Create an OAuth client from the dashboard, or use one seeded for you in development. A client has aclient_id, a client_secret (shown once), a mode (test or live), and a set of granted scopes. Read operations need ledger:read; writes need ledger:write, and neither implies the other.
2. Mint an access token
Exchange your credentials for a short-lived token using theclient_credentials grant. Send the credentials as HTTP Basic auth.
200 OK
?test= flag: the client’s mode decides whether you touch test or live data. See Authentication for the full flow.
3. Create two accounts
An account is a named bucket of value in one currency. You choose theid. Create one asset account and one revenue account, both in USD.
4. Post a balanced transaction
A transaction is a set of postings that balance per currency. Move 10.00 USD (1000 minor units) from cash into revenue. Writes require an Idempotency-Key so retries never double-post.
number.
The response includes the transaction and its postings:
Idempotency-Key returns this same transaction with a 200 and an Idempotent-Replayed: true header, instead of creating a new one. It returns the original whatever you sent the second time, so give a different transaction a different key. To validate a transaction without writing it, add ?dry_run=true and omit the idempotency key.
5. Read the balance
Balances are derived from the postings rather than stored, so this number is recomputed from what you just wrote:200 OK
?at=<ISO 8601 timestamp>, which computes the balance from each posting’s value_date. See value-date semantics.
Next steps
Core concepts
Double-entry, corrections, idempotency, multi-currency, and value dates.
Webhooks
Subscribe to events, verify signatures, and replay from the events tail.
Pagination and expand
Walk list endpoints with cursors and inline related objects.
API reference
Every endpoint, generated from the OpenAPI spec.