The API at a glance

The Hela API is a JSON REST API, the same one the application uses. Whatever the screen does, the API does.

Base address

https://<your-server>/v1

The server publishes its OpenAPI 3.1 schema at GET /openapi.json and a browsable UI at /docs. The schema is generated from the code on every deployment: it cannot describe a route that does not exist.

Authentication

An API key in the Authorization header:

Authorization: Bearer hela_live_3f9c…

Keys are created in Administration → Developers. Each key carries scopes that limit what it can do. Details: Authentication and scopes.

Shape of responses

  • An object for a resource, an array or a page { data, nextCursor, hasMore } for a collection.
  • Amounts are integers in minor units, with their currency. See Companies, documents, money.
  • Errors carry a stable code (field-required:walletId) rather than a sentence. See Pagination, errors, idempotency.

Route families

Prefix What is there
/companies/{id}/sales, /purchases, /deliveries Sales and purchase documents, their payments, deliveries, refunds, cancellations
/companies/{id}/quotes Quotes and their conversion
/companies/{id}/items, /categories, /stock… Catalogue and stock
/companies/{id}/partners Customers and suppliers
/companies/{id}/wallets, /transactions, /budgets Treasury
/companies/{id}/time-entries Hours and their billing
/companies/{id}/reports/… Reports, ledger, accounting exports
/companies/{id}/fiscal/… E-invoicing regimes, sealed journal
/companies/{id}/integrations/… Partner connections
/companies/{id}/api-keys, /webhooks, /events The developers' corner

The exhaustive list, with every field, is in the OpenAPI schema. Resources gives a guided reading.

Limits

Live key Test key
Requests per minute 600 (adjustable per key) 60
Writes yes refused (403 forbidden)
Page size 50 by default, 200 at most same

Beyond the limit the server answers 429 Too Many Requests. A Retry-After header says when to come back.

Versions

The version is in the address (/v1). Within a version, changes are additive: a field may appear, never disappear or change meaning. Events follow the same rule. A version 2 would have its own prefix and live beside the first for at least twelve months.

Going faster

¿Algo incorrecto o ausente? Escríbanos.