Använda REST API:et
MoneyLights REST API låter dina egna system läsa och underhålla din organisations data: transaktioner, leverantörer, kunder, projekt, kategorier och kassaflöde. Du autentiserar med en API-nyckel.
Anropa API:et
Section titled “Anropa API:et”Skicka din nyckel i X-API-Key-huvudet:
GET /api/transactions HTTP/1.1Host: api.moneylights.appX-API-Key: ml_sk_<key-id>_<secret>Authorization: ApiKey <key> fungerar också. Authorization: Bearer <key> fungerar
inte — Bearer tillhör webbläsarsessionen. Sätt aldrig nyckeln i URL:en: sådana
förfrågningar avvisas innan de når något.
Den maskinläsbara referensen
Section titled “Den maskinläsbara referensen”Den kompletta, alltid aktuella listan över vad din nyckel kan nå är det offentliga OpenAPI-dokumentet:
GET https://api.moneylights.app/api/public/openapi.jsonDet genereras från den körande applikationen och listar exakt de publicerade
endpoints, var och en annoterad med det scope den kräver (x-required-scope). Om
denna guide och det dokumentet säger olika saker, lita på dokumentet. Du
kan mata in det i en klientgenerator eller importera det i ett API-verktyg.
Vad som är nåbart — och vad som inte är
Section titled “Vad som är nåbart — och vad som inte är”Endast endpoints som uttryckligen publicerats är en del av det offentliga API:et. Den vägledande regeln är berika och underhålla, aldrig förstöra:
- Du kan lista och filtrera transaktioner, tilldela dem en kategori, leverantör, kund eller projekt, dela dem mellan personer (allokeringar), och skapa eller uppdatera leverantörer, kunder, projekt och kategorier.
- Du kan inte ta bort en leverantör, kund, projekt eller kategori via API:et. Att ta bort en post som andra poster pekar på är ett beslut som ett skript inte bör fatta obevakat — dessa åtgärder hör hemma i appen.
Bankanslutningar, fakturering, teamhantering och hantering av API-nycklar är aldrig nåbara med en nyckel, oavsett vilka scopes den har.
Hastighetsbegränsningar
Section titled “Hastighetsbegränsningar”Tre begränsningar gäller, och en förfrågan måste uppfylla alla:
| Plan | Läsningar/min per nyckel | Skrivningar/min per nyckel | Förfrågningar/min per organisation | Per dag, per organisation |
|---|---|---|---|---|
| Team | 120 | 30 | 120 | 10 000 |
| Enterprise | 600 | 150 | 600 | 100 000 |
Den organisationsomfattande begränsningen per minut är den du ska designa efter. Den är samma siffra som begränsningen per nyckel, så en nyckel som körs på max kan konsumera hela organisationens minut — fler nycklar ger inte mer kapacitet. Om du har flera integrationer, sprid ut deras förfrågningar över tid.
Varje svar innehåller X-RateLimit-Limit och X-RateLimit-Remaining. En
429 innehåller Retry-After i sekunder — respektera det; att försöka igen omedelbart kan
förvandla en kort hastighetsbegränsning till ett avbrott.
Avvisningar innehåller en stabil code som din integration kan agera på. De som du
faktiskt kommer att möta:
| Kod | Betydelse |
|---|---|
api_key_invalid | Nyckeln är felaktigt formaterad eller okänd, eller dess hemlighet är fel |
api_key_expired | Utgångsdatumet har passerats — skapa en ny nyckel |
api_key_revoked | Nyckeln har återkallats, eller den gamla hemligheten användes efter att rotationsfönstret stängdes |
api_key_scope_missing | Nyckeln saknar det scope som denna endpoint behöver |
api_key_endpoint_not_published | Endpointen är inte en del av det offentliga API:et |
api_key_rate_limited | Över en gräns — respektera Retry-After |
En förfrågan som inte skickar någon nyckel får en enkel 401 med en tom body och ingen
felkod. Om du ser det, skickades inte nyckelhuvudet.
Datumintervall
Section titled “Datumintervall”GET /api/cashflow/overview tar valfria dateFrom och dateTo. Om
de utelämnas är dateFrom som standard 1 januari innevarande år och dateTo
idag (båda UTC). Det returnerar 400, inte en tom översikt, när:
- ett datum inte kan tolkas (till exempel
2026-13-01); dateFromär efterdateTo;- endast
dateToskickas och det är tidigare än standardstarten (1 januari innevarande UTC-år) — skicka också endateFrom; - endast
dateFromskickas och det är senare än idag — skicka också endateTo.
Bra att veta
Section titled “Bra att veta”- Din nyckel når exakt en organisation — den som den utfärdades för. Den kan inte riktas mot någon annan.
- Användningssiffror är ungefärliga. Använd “Senast använd” och antalet förfrågningar för att kontrollera om en nyckel fortfarande är i bruk, inte för fakturering.
- Föredra API:et för dataflöden, och MCP-servern när en AI-assistent gör förfrågningarna — samma autentisering, samma scopes.