Klirr Docs

Fortnox-kompatibilitet

Kuvert, partiella uppdateringar, nollvärden, arkivering vid DELETE, taltyper och skillnaderna mot Fortnox.

Klirrs API är byggt för att en Fortnox v3-integration ska fungera genom att byta bas-URL från Fortnox till https://app.klirr.ai/api/v1. Resurssökvägar, fältnamn (PascalCase), kuvert och felform är Fortnox egna.

Kuvertet

Skrivningar lindas in i resursnamnet i singular. Svar på en enskild resurs har samma kuvert; listor har pluralnamnet plus MetaInformation.

// POST /api/v1/3/customers
{ "Customer": { "Name": "Lindqvist Måleri AB" } }
// GET /api/v1/3/customers
{ "Customers": [ ... ], "MetaInformation": { "@TotalResources": 1, "@TotalPages": 1, "@CurrentPage": 1 } }

Saknas kuvertet, eller är innehållet inte ett objekt (en sträng eller en array), svarar API:t 400. Åtgärds-endpoints som PUT /3/invoices/{n}/bookkeep tar ingen kropp.

PUT är partiell

PUT ändrar bara de fält du skickar. Utelämnade fält behålls. Det gör att Fortnox-klienter som utelämnar tomma fält (omitempty) inte råkar nolla eller återaktivera något.

För att uttryckligen tömma ett fält skickar du strängen "API_BLANK" (exakt versaler). Fält som inte får vara tomma (t.ex. kundens Name) avvisas med 400 om du försöker.

{ "Customer": { "Comments": "API_BLANK" } }

Okända fält bevaras

Fält Klirr inte modellerar (till exempel kundens GLN eller DeliveryAddress1) sparas och returneras oförändrade. Du kan läsa en resurs, ändra den och skriva tillbaka den utan att tappa data.

"" och 0 i stället för null

Tomma värden returneras som "" (text) eller 0 (tal), aldrig null, precis som hos Fortnox. Testa på tom sträng, inte på null.

Tal eller sträng

FormTal skickas som
Enskild resurs (GET /3/invoices/1)JSON-tal: "Total": 1250
Listrad (GET /3/invoices)Sträng: "Total": "1250"

Belopp avrundas till två decimaler. När du skriver accepteras både tal och sträng.

DELETE arkiverar

Bokföringslagen tillåter inte att bokförd information ändras i efterhand, så Klirr raderar inte register som bokförda poster pekar på.

ResursDELETE gör
Kunder, artiklar, leverantörerInaktiverar. Svarar 204; resursen finns kvar med Active: false.
FakturabetalningarSe Fakturabetalningar.
KontonSe Kontoplan.

Hämtar du en resurs direkt efter DELETE får du alltså 200 med Active: false, inte 404. Den försvinner ur listor med filter=active.

Övriga skillnader mot Fortnox

FortnoxKlirr
Bas-URLhttps://api.fortnox.sehttps://app.klirr.ai/api/v1
OAuthapps.fortnox.se/oauth-v1/...app.klirr.ai/api/v1/oauth-v1/...
Token-livslängd1 h / 45 dagarSamma
PKCEFinns inteValfritt, bara S256
FelkoderFortnox egna nummerEget intervall 9000xxx
Rate limitFortnox egen25 anrop / 5 s per klient och organisation
Ostödda sökparametrar–Avvisas med 400 i stället för att ignoreras
DELETE på registerRaderarInaktiverar
Plan–Kräver Kräver AI Pro
ResurserHela Fortnox v3De tolv resurserna i referensen

On this page