Account API
REST-Schnittstelle für Ihren Mandanten: Kontakte, Belege, Banking und Service. Mit klarer Auth, Rate Limits und exportierbarem Schema für eigene Clients.
Basis-URL
https://api.jupiter-erp.com/api/account/…
Schnellstart
- 1
API-Token erstellen
Im Jupiter ERP Panel unter Profil → API & MCP einen persönlichen Token erzeugen.
- 2
Account-UUID notieren
Die Mandanten-UUID finden Sie in den Kontoeinstellungen. Jeder Request benötigt den Header X-Account-Uuid.
- 3
Erste Anfrage senden
Mit Bearer-Token und Account-UUID rufen Sie z. B. die Mandantendaten ab (GET /api/account).
curl -X GET 'https://api.jupiter-erp.com/api/account' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'X-Account-Uuid: YOUR_ACCOUNT_UUID' \
-H 'Accept: application/json'MCP
Mit demselben Token nutzt ein Agent die Account API. Die Verbindung ist POST /api/mcp mit Bearer-Token und dem Header X-Account-Uuid. Abo, Nutzer und der Jupiter KI-Assistent bleiben im Panel. Die Minutenlimits entsprechen der Account API. Die Zähler sind getrennt.
Anfrage-Header
Pflichtfelder fehlen → HTTP 401 oder 403.
| Header | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|
| Authorization | ja | Bearer-Token aus den Profileinstellungen. | Bearer {API-Token} |
| X-Account-Uuid | ja | UUID des Jupiter ERP-Mandanten, auf den sich die Anfrage bezieht. | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Accept | nein | Empfohlen: application/json für JSON-Antworten. | application/json |
| Accept-Language | nein | Bevorzugte Sprache für Fehlermeldungen und validierte Texte (z. B. de, en). Ohne Angabe gilt die Benutzersprache im Panel. | de |
| Content-Type | nein | Bei POST, PUT und PATCH mit JSON-Body: application/json. | application/json |
Antwort-Header
Rate-Limit-Informationen werden bei jeder Antwort mitgeliefert.
| Header | Beschreibung | Beispiel |
|---|---|---|
| Content-Type | Antwortformat; bei JSON-Endpunkten application/json. | — |
| X-RateLimit-Limit | Maximale Anzahl Anfragen im aktuellen Zeitfenster für das greifende Limit. | — |
| X-RateLimit-Remaining | Verbleibende Anfragen im aktuellen Zeitfenster. | — |
| Retry-After | Nur bei HTTP 429: Wartezeit in Sekunden, bevor Sie die Anfrage wiederholen sollten. | — |
Rate Limits
Zum Schutz der Plattform gilt ein Anfragenlimit pro Minute. Zwei unabhängige Zähler greifen gleichzeitig; das jeweils niedrigere Limit entscheidet.
API-Token
300 Anfragen / Minute
Gilt für alle Requests mit demselben Bearer-Token.
Mandant (X-Account-Uuid)
600 Anfragen / Minute
Summe aller Tokens und Integrationen auf demselben Mandanten.
Die genannten Limits gelten für die Standard-Pakete. Mit individuellen Paketen sind höhere Limits, eine SLA und weitere betriebliche Vereinbarungen möglich.
HTTP 429: Zu viele Anfragen
- Antwortstatus HTTP 429 Too Many Requests.
- Header Retry-After gibt die empfohlene Wartezeit in Sekunden an.
- Nutzen Sie exponentielles Backoff und vermeiden Sie parallele Burst-Last auf einem Token.
- Bei dauerhaft höherem Bedarf sprechen Sie uns vor dem Rollout an.
Fehlerantworten
Fehler werden als JSON zurückgegeben. Neben dem HTTP-Status enthält der Body in der Regel eine lesbare message; bei Validierungsfehlern zusätzlich strukturierte errors.
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."]
}
}- message kann lokalisiert sein, wenn Accept-Language gesetzt wurde.
- errors ist ein Objekt mit Feldnamen und Listen von Hinweisen (typisch bei HTTP 422).
- Bei HTTP 403 kann der Mandant gesperrt sein oder der Token hat keine Berechtigung für die Aktion.
Paginierung
Listen-Endpunkte liefern Einträge in data und Metadaten in meta. Steuerung über Query-Parameter page und per_page (Defaults je Endpunkt in der Referenz).
Query-Parameter
Felder in meta
{
"data": [ … ],
"meta": {
"current_page": 1,
"last_page": 5,
"per_page": 25,
"total": 112,
"items_from": 1,
"items_to": 25
}
}Downloads
Vollständiges Schema und Postman-Collection, dieselbe Basis wie diese Referenz.
Datenformat
Einheitliche Konventionen über alle Endpunkte.
- JSON
- Request- und Response-Body als application/json
- Geldbeträge
- immer in Cent (450 = 4,50 EUR)
- Zeitstempel
- ISO 8601 (UTC)
- HTTPS
- Produktion nur über TLS
HTTP-Statuscodes
Übliche Antworten im Überblick.
- 200 / 201
- Erfolg (201 bei neu angelegten Ressourcen)
- 400
- Ungültige Anfrage
- 403
- Keine Berechtigung oder Mandant nicht verfügbar
- 404
- Ressource nicht gefunden
- 409
- Konflikt (z. B. Duplikat)
- 412
- Voraussetzung nicht erfüllt
- 419
- Sicherheitsprüfung fehlgeschlagen
- 422
- Validierung fehlgeschlagen
- 424
- Abhängigkeit fehlgeschlagen
- 429
- Rate Limit überschritten
Beliebte Endpunkte
Einstieg in häufig genutzte Operationen. Vollständige Liste unter Endpunkte.
- getGet current account information/api/account
- getList account contacts/api/account/contacts
- postCreate contact/api/account/contacts
- getList Invoices/api/account/invoices
- getList Bank Accounts/api/account/bank-accounts
- getList Bank Transactions/api/account/bank-transactions
- getList automatic assignment suggestions for open bank transactions/api/account/bank-transactions/assignment-suggestions
Integration geplant?
Wir begleiten Konzeption, Staging-Zugang und den produktiven Rollout Ihrer Anbindung.