API
Accounts
Chart of accounts CRUD. Codes, names, types, archival.
Object shape
{
"id": "01HW…",
"object": "account",
"code": "1010",
"name": "Checking Account",
"type": "ASSET",
"archived": false,
"created_at": "2026-05-24T12:00:00.000Z",
"updated_at": "2026-05-24T12:00:00.000Z"
}| Field | Type | Notes |
|---|---|---|
code | string | Unique within the org. Convention: 1xxx assets, 2xxx liabilities… |
type | enum | ASSET, LIABILITY, EQUITY, REVENUE, EXPENSE |
archived | bool | Archived accounts can't be posted to but still appear in reports. |
Endpoints
GET /v1/accounts ?include_archived=true
POST /v1/accounts { code, name, type }
GET /v1/accounts/:id
POST /v1/accounts/:id { code?, name?, archived? }
DELETE /v1/accounts/:id archives (soft-delete)Create
curl -X POST https://axerity.com/api/v1/accounts \
-H "Authorization: Bearer $AX_KEY" \
-H "Content-Type: application/json" \
-d '{ "code": "6700", "name": "Software & Subscriptions", "type": "EXPENSE" }'Returns the new account row. Errors with 409 conflict_error if code
is already in use.
Update
curl -X POST https://axerity.com/api/v1/accounts/$ID \
-H "Authorization: Bearer $AX_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Software & SaaS" }'Note we use POST /v1/accounts/:id to update, not PATCH — matches the
Stripe convention.
Delete (archive)
curl -X DELETE https://axerity.com/api/v1/accounts/$ID \
-H "Authorization: Bearer $AX_KEY"Soft delete only. Archived accounts:
- Can't be referenced in new transactions.
- Still appear in historical reports.
- Show up in lists when
?include_archived=true.