API conventions

Cross-cutting rules that apply to all endpoints. Knowing them avoids the most common mistakes when writing an agent or a script.

Money

Amounts are in decimal euros, not cents. One thousand two hundred euros is 1200.00, not 120000. Use a decimal point and two decimals where appropriate.

{ "base": 1000.00, "iva": 210.00, "total": 1210.00 }

Dates

Dates are in ISO-8601 (YYYY-MM-DD, for example 2026-07-08). Timestamps follow the same standard. Don't use local formats like 08/07/2026.

Identifiers

Resource IDs are UUIDs (for example 3f2a…). This holds for invoices, purchases, treasuries, movements, documents and tax types. On invoice/purchase lines, the tax is referenced by its tax_type_id (a UUID you get from /api/v1/taxes).

Pagination and filters

List endpoints accept these query parameters:

ParameterWhat it does
limitMaximum number of items to return.
offsetOffset (for paging).
fromRange start date (ISO-8601).
toRange end date (ISO-8601).

Example:

curl "https://api.aikount.com/api/v1/bank-movements?treasury_id=<uuid>&from=2026-04-01&to=2026-06-30&limit=50" \
  -H "Authorization: Bearer agl_your_key_here"

Errors

An error arrives as an HTTP status plus a JSON body with the detail key:

{ "detail": "..." }

The most common authentication ones are 401 (token missing, invalid or revoked) and 403 (valid token lacking the required scope). See Authentication.

The source of truth

This documentation describes the stable conventions, but the OpenAPI spec is the authoritative reference for each endpoint's exact parameters, types, fields and responses:

https://api.aikount.com/openapi.json

You can also explore it in Swagger UI (/docs) or Redoc (/redoc). If anything here disagrees with openapi.json, openapi.json wins.

See also

Cookies & privacy

We use necessary first-party cookies and cookieless analytics. Only if you accept do we enable Google Ads cookies to measure our campaigns. Learn more · Privacy