Kubova REST-API
Container aus jeder Programmiersprache beladen. Bearer-Authentifizierung, JSON in / JSON out.
Suchen Sie nach dem MCP-Setup? Lesen Sie das MCP-Handbuch →
Authentifizierung
Jede Anfrage benötigt einen API-Schlüssel im Authorization-Header:
Authorization: Bearer kbv_abc123...Generieren Sie Schlüssel im Dashboard, sobald Sie den Pro-Tarif nutzen.
API-Schlüssel verwalten →Schlüssel überprüfen
Verwenden Sie den Endpunkt /me, um zu bestätigen, dass Ihr Schlüssel gültig ist, bevor Sie Pack-Anfragen senden:
curl https://kubova.com/api/v1/me \
-H "Authorization: Bearer kbv_..."Container beladen
POST an /api/v1/pack mit Fracht und einem Container. Der Packer gibt die Platzierungen pro Container, das genutzte Volumen und alle nicht platzierten Stücke zurück.
curl -X POST https://kubova.com/api/v1/pack \
-H "Authorization: Bearer kbv_..." \
-H "Content-Type: application/json" \
-d '{
"cargos": [{
"id": "sku-a",
"name": "Box A",
"shape": "box",
"lengthCm": 50, "widthCm": 40, "heightCm": 30,
"quantity": 20,
"weightKg": 5,
"color": "#e85d3a",
"includeInLoading": true,
"allowStacking": true,
"allowRotation": true
}],
"container": {
"id": "40hc",
"name": "40HC",
"innerLengthCm": 1203.0,
"innerWidthCm": 235.2,
"innerHeightCm": 269.7,
"doorWidthCm": 233.5,
"doorHeightCm": 258.5,
"maxPayloadKg": 26330
},
"options": {
"loadingDirection": "floor-to-top",
"vnsTimeLimitMs": 5000
}
}'Bei Erfolg wird ok=true mit result.containers und result.unplaced zurückgegeben. Bei Fehlern wird ok=false mit einer Fehlermeldung zurückgegeben.
PDF-Bericht erstellen
POST an /api/v1/report mit derselben Struktur wie /pack. format=json gibt ein base64-PDF + 3D-PNG pro Container zurück; format=binary streamt ein einzelnes kombiniertes PDF, das Sie direkt speichern können.
# JSON response: base64 PDF + 3D PNG per container
curl -X POST https://kubova.com/api/v1/report \
-H "Authorization: Bearer kbv_..." \
-H "Content-Type: application/json" \
-d '{ "cargos": [...], "container": {...}, "format": "json" }'
# Binary response: a single combined PDF
curl -X POST "https://kubova.com/api/v1/report?format=binary" \
-H "Authorization: Bearer kbv_..." \
-H "Content-Type: application/json" \
-d '{ "cargos": [...], "container": {...} }' \
--output kubova-report.pdfErfordert die Berechtigung „report“ für den Schlüssel. Neue Schlüssel werden standardmäßig mit „pack“ und „report“ ausgeliefert.
Ratenbegrenzungen & Timeouts
- Standardmäßig 60 Anfragen pro Minute und Schlüssel (auf Anfrage pro Schlüssel konfigurierbar).
- Pack-Anfragen laufen nach 290 Sekunden ab. Das deckt alle bisherigen Arbeitslasten ab; das asynchrone Job-Muster wird eingeführt, sobald echte Benutzer an diese Grenze stoßen.
- Jeder Schlüssel hat einen Berechtigungssatz (pack, report). Der Endpunkt /pack benötigt die Berechtigung „pack“.
- Der API-Zugriff ist ab dem Pro-Tarif verfügbar.
Fehlercodes
| Fehler | HTTP | Bedeutung |
|---|---|---|
| missing_bearer_token | 401 | Es wurde kein Authorization-Header gesendet. |
| invalid_token | 401 | Das Token stimmt mit keinem aktiven Schlüssel überein. |
| token_revoked | 401 | Der Schlüssel wurde im Dashboard widerrufen. |
| token_expired | 401 | Das Ablaufdatum des Schlüssels wurde überschritten. |
| scope_missing:pack | 403 | Der Schlüssel verfügt nicht über die erforderliche Berechtigung. |
| rate_limit_exceeded | 429 | Mehr als 60 Anfragen in der letzten Minute. |
| upstream_unreachable | 502 | Der Pack-Dienst war nicht erreichbar. Versuchen Sie es nach einer Wartezeit erneut. |