Ascenai API

Public REST API for reading and writing accounting data from your own systems.

Authentication

Send your API key in the Authorization header, or as x-api-key. Keys are created on the Settings page and start with ascenai_.

GET https://ascenai.io/api/public/v1/corporations
Authorization: Bearer ascenai_xxx

Available endpoints

GEThttps://ascenai.io/api/public/v1/corporationsList all corporations accessible to the key.
GEThttps://ascenai.io/api/public/v1/corporations/:idGet one corporation by ID.
GEThttps://ascenai.io/api/public/v1/corporations/:id/locationsList locations under a corporation.
GEThttps://ascenai.io/api/public/v1/transactions?company_id=...&from=YYYY-MM-DD&to=YYYY-MM-DDList journal entries.
GEThttps://ascenai.io/api/public/v1/invoices?company_id=...&status=...List invoices.
POSThttps://ascenai.io/api/public/v1/invoicesCreate an invoice (requires write permission).
GEThttps://ascenai.io/api/public/v1/reports/trial-balance?company_id=...&as_of=YYYY-MM-DDTrial balance.
GEThttps://ascenai.io/api/public/v1/reports/income-statement?company_id=...&from=YYYY-MM-DD&to=YYYY-MM-DDIncome statement.
GEThttps://ascenai.io/api/public/v1/reports/balance-sheet?company_id=...&as_of=YYYY-MM-DDBalance sheet.
GEThttps://ascenai.io/api/public/v1/healthHealth check.

Example: create an invoice

POST https://ascenai.io/api/public/v1/invoices
Content-Type: application/json
Authorization: Bearer ascenai_xxx

{
  "company_id": "<corp-id>",
  "number": "INV-001",
  "issue_date": "2026-08-01",
  "due_date": "2026-08-31",
  "subtotal": 1000.00,
  "tax_total": 70.00,
  "total": 1070.00,
  "contact_id": "<contact-id>",
  "notes": "Professional services"
}

Security & limits

  • Keys are hashed with HMAC-SHA256 before storage.
  • Keys are scoped to read or read+write.
  • All endpoints are filtered by your corporation access.
  • No service credentials are exposed to the client.