Hoppa till innehåll

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.

Skicka din nyckel i X-API-Key-huvudet:

GET /api/transactions HTTP/1.1
Host: api.moneylights.app
X-API-Key: ml_sk_<key-id>_<secret>

Authorization: ApiKey <key> fungerar också. Authorization: Bearer <key> gör 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 kompletta, alltid aktuella listan över vad din nyckel kan nå är det offentliga OpenAPI-dokumentet:

GET https://api.moneylights.app/api/public/openapi.json

Det genereras från den körande applikationen och listar exakt de publicerade endpoints, var och en annoterad med den scope den kräver (x-required-scope). Om denna guide och det dokumentet någonsin är oense, är dokumentet korrekt. Du kan mata in det i en klientgenerator eller importera det i ett API-verktyg.

Vad som är tillgängligt — och vad som inte är

Section titled “Vad som är tillgängligt — och vad som inte är”

Endast endpoints som uttryckligen publicerats är en del av det offentliga API:et. Den ledande regeln är berika och underhåll, aldrig förstöra:

  • Du kan lista och filtrera transaktioner, tilldela dem en kategori, leverantör, kund, projekt eller personallokeringar, samt skapa eller uppdatera leverantörer, kunder, projekt och kategorier.
  • Du kan inte ta bort en leverantör, kund, projekt eller kategori genom API:et. Att ta bort en post som andra poster pekar på är ett beslut som ett skript inte bör fatta utan övervakning — dessa åtgärder hör hemma i appen.

Bankkopplingar, fakturering, teamhantering och hantering av API-nycklar är aldrig tillgängliga med en nyckel, oavsett vilka scopes den har.

Tre begränsningar gäller, och en förfrågan måste uppfylla alla:

PlanLäsningar/min per nyckelSkriver/min per nyckelFörfrågningar/min per organisationPer dag, per organisation
Team1203012010 000
Enterprise600150600100 000

Den organisationsövergripande begränsningen per minut är den att designa runt. Den är samma siffra som begränsningen per nyckel, så en nyckel som körs på max kan konsumera hela organisationens minut — att lägga till nycklar ger ingen ökad kapacitet. Om du kör flera integrationer, takta dem.

Varje svar bär X-RateLimit-Limit och X-RateLimit-Remaining. En 429 bär Retry-After i sekunder — respektera det; att försöka igen omedelbart är hur en hastighetsbegränsning blir ett avbrott.

Avvisningar bär en stabil code som du kan växla på. De som du faktiskt kommer att möta:

KodBetydelse
api_key_invalidFelaktig, okänd eller fel hemlighet
api_key_expiredFörbi sitt utgångsdatum — skapa en ny nyckel
api_key_revokedNyckeln har avbrutits, eller en roterad hemlighet har löpt ut
api_key_scope_missingNyckeln saknar den scope som denna endpoint behöver
api_key_endpoint_not_publishedEndpointen är inte en del av det offentliga API:et
api_key_rate_limitedÖver en begränsning — respektera Retry-After

En förfrågan med ingen nyckel alls får en enkel 401 utan kod — behandla en kroppslös 401 som “Jag glömde huvudet”.

  • Din nyckel når exakt en organisation — den som den utfärdades för. Den kan inte pekas någon annanstans.
  • Användningssiffror är indikativa. “Senast använd” och begärningsantalet svarar på “är detta fortfarande i bruk?”, inte faktureringsfrågor.
  • Föredra API:et för dataflöden, och MCP Server när anroparen är en AI-assistent — samma autentisering, samma scopes.