Brug af REST API'en
MoneyLights REST API’en lader dine egne systemer læse og vedligeholde din organisations data: transaktioner, leverandører, kunder, projekter, kategorier og cashflow. Du autentificerer med en API-nøgle.
Kalde API’en
Sektion kaldt “Kalde API’en”Send din nøgle i X-API-Key headeren:
GET /api/transactions HTTP/1.1Host: api.moneylights.appX-API-Key: ml_sk_<key-id>_<secret>Authorization: ApiKey <key> fungerer også. Authorization: Bearer <key> gør
ikke — Bearer tilhører browser-sessionen. Sæt aldrig nøglen i
URL’en: sådanne anmodninger bliver afvist, før de når noget.
Den maskinlæsbare reference
Sektion kaldt “Den maskinlæsbare reference”Den komplette, altid aktuelle liste over hvad din nøgle kan tilgå er det offentlige OpenAPI-dokument:
GET https://api.moneylights.app/api/public/openapi.jsonDet genereres fra den kørende applikation og viser præcist de offentliggjorte
endpoints, hver annoteret med det scope, det kræver (x-required-scope). Hvis
denne guide og det dokument siger forskellige ting, så stol på dokumentet. Du
kan fodre det til en klientgenerator eller importere det i et API-værktøj.
Hvad der kan tilgås — og hvad der ikke kan
Sektion kaldt “Hvad der kan tilgås — og hvad der ikke kan”Kun endpoints, der er eksplicit offentliggjort, er en del af den offentlige API. Den vejledende regel er berig og vedligehold, aldrig ødelæg:
- Du kan liste og filtrere transaktioner, tildele dem en kategori, leverandør, kunde eller projekt, opdele dem på tværs af personer (allokeringer), og oprette eller opdatere leverandører, kunder, projekter og kategorier.
- Du kan ikke slette en leverandør, kunde, projekt eller kategori gennem API’en. At fjerne en post, som andre poster peger på, er en beslutning, et script ikke bør træffe uden opsyn — disse handlinger hører til i appen.
Bankforbindelser, fakturering, teamstyring og API-nøgleadministration er aldrig tilgængelige med en nøgle, uanset hvilke scopes den har.
Rategrænser
Sektion kaldt “Rategrænser”Tre grænser gælder, og en anmodning skal opfylde dem alle:
| Plan | Læsninger/min per nøgle | Skrivninger/min per nøgle | Anmodninger/min per organisation | Per dag, per organisation |
|---|---|---|---|---|
| Team | 120 | 30 | 120 | 10 000 |
| Enterprise | 600 | 150 | 600 | 100 000 |
Grænsen per minut for hele organisationen er den, du skal designe efter. Den er det samme tal som grænsen per nøgle, så en nøgle, der kører på fuld kraft, kan forbruge hele organisationens minut — flere nøgler giver ikke mere kapacitet. Hvis du har flere integrationer, så fordel deres anmodninger over tid.
Hver respons bærer X-RateLimit-Limit og X-RateLimit-Remaining. En
429 bærer Retry-After i sekunder — respekter det; at forsøge igen med det samme kan
forvandle en kort rategrænse til et nedbrud.
Afvisninger bærer en stabil code, som din integration kan handle på. De, du
faktisk vil møde:
| Code | Betydning |
|---|---|
api_key_invalid | Nøglen er ugyldigt formateret eller ukendt, eller dens hemmelighed er forkert |
api_key_expired | Udløbet — opret en ny nøgle |
api_key_revoked | Nøglen blev tilbagekaldt, eller den gamle hemmelighed blev brugt efter dens rotationsvindue lukkede |
api_key_scope_missing | Nøglen mangler det scope, dette endpoint har brug for |
api_key_endpoint_not_published | Endpointet er ikke en del af den offentlige API |
api_key_rate_limited | Over en grænse — respekter Retry-After |
En anmodning, der ikke sender nogen nøgle, får en simpel 401 med en tom body og ingen
fejlkode. Hvis du ser det, blev nøgle-headeren ikke sendt.
Datoområder
Sektion kaldt “Datoområder”GET /api/cashflow/overview tager en valgfri dateFrom og dateTo. Hvis
de udelades, er dateFrom som standard 1. januar i det nuværende år og dateTo
i dag (begge UTC). Det returnerer 400, ikke en tom oversigt, når:
- en dato ikke kan parses (for eksempel
2026-13-01); dateFromer efterdateTo;- kun
dateTosendes, og det er tidligere end standardstarten (1. januar i det nuværende UTC-år) — send også endateFrom; - kun
dateFromsendes, og det er senere end i dag — send også endateTo.
Godt at vide
Sektion kaldt “Godt at vide”- Din nøgle når præcist én organisation — den, den blev udstedt til. Den kan ikke rettes mod nogen anden.
- Forbrugstallene er omtrentlige. Brug “Sidst brugt” og antallet af anmodninger til at tjekke, om en nøgle stadig er i brug, ikke til fakturering.
- Foretræk API’en til dataflows, og MCP-serveren når en AI-assistent laver anmodningerne — samme legitimationsoplysninger, samme scopes.