Format
- JSON with camelCase field names.
- Dates as
yyyy-MM-dd, timestamps as ISO 8601 in UTC. - Amounts in kroner as decimal numbers with two decimals.
currencyis alwaysNOKin v1. - VAT codes are the SAF-T standard codes. For sales:
3= 25 %,31= 15 %,33= 12 %,5= exempt,6= outside the VAT Act,7= no VAT treatment,52= export.
Errors
Every error from/v1 has the same shape:
code is stable and safe to build logic on. message is an English explanation for developers and may change. Some errors also include details with more information.
Validation errors list the fields that are wrong:
Errors any endpoint can return
An ID from another company, or from the other environment, always returns
404, never 403. The API does not reveal that something exists elsewhere.Idempotency
EveryPOST requires the Idempotency-Key header. Use a new UUID for each action. If the network fails and you don’t know whether a call went through, send the same call again with the same key. Nothing happens twice.
Keys belong to one client in one environment and are kept for 7 days. After that, the same key counts as a new call. The exception is payments: a payment with the same key is never recorded twice, however old the key is.
Paging
Lists are split into pages. Usepage (from 1) and pageSize (1 to 100, default 20, 50 for journal entries).
hasMore is false. If new rows arrive while you page, later pages can shift by one. To keep another system in sync, use updatedSince on invoices instead and fetch what has changed since last time.