Zum Inhalt springen
Anmelden
Docs

Entwickler-Dokumentation

REST-API, Authentifizierung und Echtzeit der SCHRAMME Platform.

Die API ist für die eigenen Systeme rund um die SCHRAMME Platform gedacht (Automatisierungen, Auswertungen, Integrationen) – keine öffentliche Entwicklerplattform. Zugänge vergibt der Inhaber im Admin-Bereich.

Authentifizierung

Jede Anfrage authentifiziert sich mit einem API-Key im Authorization-Header. Keys werden unter Admin → API-Keys erstellt, nur einmal angezeigt und können jederzeit neu ausgestellt oder widerrufen werden. Ein Key besitzt Scopes; seine Rechte überschreiten nie die Rechte der Person, die ihn erstellt hat.

curl
curl -H "Authorization: Bearer sk_<prefix>_<secret>" \
  https://api.christoph-schramme.de/v1/print/orders?status=open

Scopes

Scopes
ScopeBerechtigungen
print.read
print.access, print.order.read, print.filament.read
print.write
print.access, print.order.read, print.order.manage, print.order.approve, print.filament.read, print.filament.manage
coding.read
coding.access, coding.order.read
coding.write
coding.access, coding.order.read, coding.order.manage, coding.order.approve
support.read
support.ticket.read, support.kb.read_internal
support.write
support.ticket.read, support.ticket.write, support.ticket.assign, support.kb.read_internal, support.kb.manage
monitoring.read
monitoring.access, monitoring.read
monitoring.write
monitoring.access, monitoring.read, monitoring.manage, monitoring.incidents.manage
users.read
user.read

Fehlerformat

Fehler haben immer dieselbe Form. Die requestId hilft bei der Fehlersuche im Monitoring.

422 VALIDATION_FAILED
{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Validation failed",
    "requestId": "6f1c…",
    "issues": [{ "path": "decision", "message": "errors.field.invalid" }]
  }
}
  • 401 UNAUTHENTICATED · 403 FORBIDDEN · 404 NOT_FOUND · 409 INVALID_STATE / CONFLICT · 413 PAYLOAD_TOO_LARGE · 422 VALIDATION_FAILED · 429 RATE_LIMITED · 5xx

Rate-Limits

600 Anfragen pro Minute und Key, 120 schreibende Anfragen pro Minute; ohne Key 120 pro Minute und IP. Antworten enthalten RateLimit-Limit/RateLimit-Remaining, bei 429 zusätzlich Retry-After (Sekunden). Request-Bodys sind auf 1 MB begrenzt.

Echtzeit

Die Weboberflächen erhalten Live-Updates über einen WebSocket (/_rt) auf dem jeweiligen Produkt-Host. Er authentifiziert sich ausschließlich über die Sitzung des Hosts, akzeptiert nur Verbindungen derselben Origin und liefert nur Kanäle, für die die Person berechtigt ist. Er ist kein Teil der öffentlichen API – externe Systeme nutzen die REST-API.

OpenAPI 3.1 (JSON)