Admin API Integration
Admin integrations should use the public gateway, not internal service ports.
Flow
- Log in through
POST /auth/login. - Read
GET /auth/meto choose customer or reseller context. - Send
Authorizationand tenant headers on every protected request. - Keep pagination, filters, and timestamps explicit.
Live Route Families
| Surface | Routes |
|---|---|
| Saved reports | GET /reports, POST /reports, POST /reports/:reportId/run, GET /report-runs/:runId |
| Report templates | GET /report-templates, POST /report-templates |
| Report AI | GET /reports/ai/catalog, POST /reports/ai/preview, POST /reports/ai/sessions |
| Connector provisioning review | GET /connectors/:connectorId/provisioning-items, POST /connectors/:connectorId/provisioning-items/:itemId/apply, POST /connectors/:connectorId/provisioning-items/:itemId/reject |
Example: List Vehicles
curl -sS \
https://api.outlog.serv.si/api/v1/vehicles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Customer-Id: $CUSTOMER_ID"Example: Query GPS
curl -sS \
"https://api.outlog.serv.si/api/v1/telemetry/gps?vehicle_id=$VEHICLE_ID&from=2026-05-01T00:00:00.000Z&to=2026-05-02T00:00:00.000Z" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Customer-Id: $CUSTOMER_ID"Error Handling
400: request validation failed.401: token missing, expired, or invalid.403: membership, permission, or tenant mismatch.409: duplicate or conflicting assignment.429and5xx: retry with exponential backoff.