Axiomatic

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.software/api

Authentication

Requests require one of:

  • Session cookie — set automatically when signed in via the web app
  • API key — pass via the x-api-key header
curl https://app.axiomatic.software/api/entities \
  -H "x-api-key: YOUR_API_KEY"

Multi-Tenant Routing

Axiomatic uses a tenant-per-organization architecture. Each organization has its own isolated database. Most endpoints require tenant context, resolved automatically via:

  1. entityId query/body parameter — maps to the correct tenant database
  2. Session cookie — resolves the user's tenants from the control plane

GET /api/entities is cross-tenant — it queries all tenants the authenticated user has access to.

Endpoints

Browse the sidebar for interactive documentation on every endpoint, organized by category:

CategoryDescription
HealthSystem status check
EntitiesCreate and manage legal entities
BooksMulti-book accounting (GAAP, IFRS, tax)
AccountsChart of accounts CRUD
Account MappingsMap roles to accounts for automated posting
EventsRecord financial events
ProcessTrigger the posting engine
JournalQuery and manage journal entries
Trial BalancePer-account debit/credit totals
PeriodsAccounting period lifecycle
ReportsBalance sheet, income statement, cash flow
Fund ReportsFund-specific reporting
ARInvoices, customers, payments
APBills, vendors, payments
TreasuryCash positions and linked accounts
FX RatesExchange rate management
FX RevaluationPeriod-end currency revaluation
Rule PacksDSL posting rules
ReconciliationTransaction matching and confirmation
AnomaliesAI-powered anomaly detection and review
AuthUser registration and email verification
TeamTeam members and invitations
API KeysProgrammatic API key management
ComplianceGDPR data export, erasure, consent
IntegrationsPlaid bank linking and sync
BillingStripe checkout and subscriptions
NotificationsIn-app notification management
PayrollPayroll runs, employees, calculator, tax forms
InventoryInventory items, lots, transactions, counts, valuation
Fixed AssetsAsset register, depreciation, disposal
LoansLoan instruments and amortization
LeasesLease accounting (ASC 842 / IFRS 16)
ContractsRevenue contracts (ASC 606 / IFRS 15)
ExchangeReceivables exchange marketplace
DimensionsSegment and dimension tagging
SubledgersSubledger management and drill-down
ConsolidationMulti-entity consolidation
IntercompanyIntercompany transactions
Close CalendarPeriod-end close templates and tasks
Approval PoliciesMulti-level approval workflows
AccrualsAccrual schedule management
WaterfallFund waterfall distributions
DocumentsDocument upload and management
CommentsThreaded comments and reactions
Audit LogImmutable audit trail queries
Cost CategoriesCost classification and reports
Tax RatesTax rate tables and tax reports
Payment IntentsPayment intents and file generation
SettlementsSettlement recording and batches
Webhook SubscriptionsOutbound webhook configuration
Address BookCounterparties and contacts
PracticePractice management dashboard
PartnerPartner program and client management
PrivacyShielded transfers and ZK proofs
Import BatchesBulk data import
ConnectionsProvider connections and sync
CategorizationTransaction matching patterns
Tax LotsCrypto/investment tax lot tracking

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: 1709164800

Errors

All errors return a JSON body with an error field:

{ "error": "Entity not found" }
StatusMeaning
400Bad request — missing or invalid parameters
401Unauthorized — missing or invalid credentials
404Not found — resource doesn't exist
429Rate limited — too many requests
500Server error — unexpected failure

On this page