API Reference
Interactive reference for the Axiomatic REST API. Browse endpoints, view schemas, and send test requests.
Overview
The Axiomatic API follows RESTful conventions. All endpoints accept and return JSON.
Base URL: https://app.axiomatic.us/api
Authentication
Requests require one of:
- Session cookie — set automatically when signed in via the web app
- API key — pass via the
x-api-keyheader
curl https://app.axiomatic.us/api/entities \
-H "x-api-key: YOUR_API_KEY"Endpoints
Browse the sidebar for interactive documentation on every endpoint, organized by category:
| Category | Description |
|---|---|
| Health | System status check |
| Entities | Create and manage legal entities |
| Books | Multi-book accounting (GAAP, IFRS, tax) |
| Accounts | Chart of accounts CRUD |
| Account Mappings | Map roles to accounts for automated posting |
| Events | Record financial events |
| Process | Trigger the posting engine |
| Journal | Query and manage journal entries |
| Trial Balance | Per-account debit/credit totals |
| Periods | Accounting period lifecycle |
| Reports | Balance sheet, income statement, cash flow |
| Fund Reports | Fund-specific reporting |
| AR | Invoices, customers, payments |
| AP | Bills, vendors, payments |
| Treasury | Cash positions and linked accounts |
| FX Rates | Exchange rate management |
| FX Revaluation | Period-end currency revaluation |
| Rule Packs | DSL posting rules |
| Reconciliation | Transaction matching and confirmation |
Rate Limits
API requests are rate-limited per API key. Current limits:
- 100 requests/minute for read endpoints (GET)
- 30 requests/minute for write endpoints (POST/PUT/PATCH/DELETE)
Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 97
X-RateLimit-Reset: 1709164800Errors
All errors return a JSON body with an error field:
{ "error": "Entity not found" }| Status | Meaning |
|---|---|
400 | Bad request — missing or invalid parameters |
401 | Unauthorized — missing or invalid credentials |
404 | Not found — resource doesn't exist |
429 | Rate limited — too many requests |
500 | Server error — unexpected failure |