API Reference
OpenLabelEngine Center API v0.1.0 (sprint 2) — OpenAPI 3.1. Generated from the checked-in openapi.json, never hand-written. 96 endpoints in 14 groups.
Quick API Call
Print a label via REST · copy-paste-ready
# 1. Get a token (once)
curl -X POST https://your-center:8090/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"..."}'
# 2. Print a label
curl -X POST https://your-center:8090/api/v1/print \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"label_id": "lbl_8f2k3a",
"printer": "PAL-2",
"copies": 24,
"variables": {
"sscc": "00340123452311160029",
"charge": "CH-2231"
},
"idempotency_key": "order-4711-label-1"
}'SDKs are on the v1.x roadmap. Until then: every endpoint is plain REST + JSON.
Audit-Log
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/audit-log | Audit-Log lesen |
| GET | /api/v1/audit-log/{entryId} | Einzelner Audit-Log-Eintrag |
Authentication
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/auth/login | Sign in |
| POST | /api/v1/auth/logout | Sign out |
| GET | /api/v1/auth/setup | Erstzugangs-Probe |
| POST | /api/v1/auth/setup | Erst-Setup |
| POST | /api/v1/auth/tokens | Service-Account-Token ausstellen |
| GET | /api/v1/auth/tokens | Service-Account-Tokens auflisten |
| DELETE | /api/v1/auth/tokens/{id} | Service-Account-Revoke token |
| GET | /api/v1/auth/whoami | Who am I? |
| POST | /api/v1/auth/password | Eigenes Change password |
Sonstige
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/cel/evaluate | CEL-Ausdruck gegen Beispieldaten auswerten (Variablen-Editor, AB#721) |
| GET | /api/v1/version | API surface version |
| GET | /api/v1/jobs/{jobId} | Auftrag mit Meldungshistorie |
| POST | /api/v1/jobs/{jobId}/cancel | Auftrag abbrechen |
Credentials
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/credentials | Credentials auflisten |
| POST | /api/v1/credentials | Create credential |
| DELETE | /api/v1/credentials/{ref} | Delete credential |
| POST | /api/v1/credentials/{ref}/test | Gespeicherten Zugang pruefen |
Deployments
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/deployments | Verteilungsstand aller Gruppen |
| POST | /api/v1/deployments | Flow ausrollen |
| POST | /api/v1/deployments/{deploymentId}/approval | Stufe freigeben |
| POST | /api/v1/deployments/{deploymentId}/rollback | Rollout zuruecknehmen |
| GET | /api/v1/deployments/{deploymentId}/context | Read deployment-level context parameters |
| PUT | /api/v1/deployments/{deploymentId}/context/{name} | Set deployment-level context parameters |
| DELETE | /api/v1/deployments/{deploymentId}/context/{name} | Remove deployment-level context parameters |
Flows
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/flows | Flow-Liste |
| POST | /api/v1/flows | Flow anlegen |
| GET | /api/v1/flows/registry | Nodekatalog lesen |
| GET | /api/v1/flows/{flowId} | Flow-Metadaten |
| PATCH | /api/v1/flows/{flowId} | Flow-Metadaten aendern |
| DELETE | /api/v1/flows/{flowId} | Flow loeschen |
| GET | /api/v1/flows/{flowId}/document | flow.json lesen |
| PATCH | /api/v1/flows/{flowId}/document | Patches auf flow.json anwenden |
| GET | /api/v1/flows/{flowId}/versions | Versionshistorie |
| GET | /api/v1/flows/{flowId}/versions/{version} | Flow-Dokument einer Version |
Labels
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/labels | Labels auflisten |
| POST | /api/v1/labels | Label anlegen |
| POST | /api/v1/labels/{labelId}/status | Freigabestatus eines Labels wechseln |
| POST | /api/v1/labels/from-preset | Label aus Medien-Preset anlegen |
| POST | /api/v1/labels/from-dimensions | Label aus freien Massen anlegen |
| PATCH | /api/v1/labels/{labelId} | Label umbenennen |
| DELETE | /api/v1/labels/{labelId} | Label loeschen |
| POST | /api/v1/labels/{labelId}/archive | Label archivieren |
| POST | /api/v1/labels/{labelId}/duplicate | Label duplizieren |
| POST | /api/v1/labels/{labelId}/save-copy | Label als Save copy |
| GET | /api/v1/labels/{labelId}/document | Label-Dokument lesen |
| PATCH | /api/v1/labels/{labelId}/document | Label-Dokument patchen |
| POST | /api/v1/labels/{labelId}/preview | Editor preview: label as print raster (PNG) |
| GET | /api/v1/labels/{labelId}/copy-info | Metadata for the copy dialog |
| GET | /api/v1/labels/{labelId}/form | Druckformular eines Labels |
| GET | /api/v1/labels/{labelId}/versions | Versionshistorie eines Labels |
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/print | Print job: labelRef@version + Strom oder Variablen + target (AB#418, AB#1250) — the reference case for invariant 10 |
| GET | /api/v1/print-archive | Druckarchiv lesen |
| GET | /api/v1/print-archive/{entryId} | Einzelner Druckarchiv-Eintrag |
Printers
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/printers | Bekannte Druckziele (Wizard, AB#1254) |
| POST | /api/v1/printers | Erkennungsfund als Druckziel uebernehmen (AB#1829) |
| POST | /api/v1/printers/discover | Printerssuche im Netz (Wizard Screen 2, AB#717) |
| GET | /api/v1/deployments/{deploymentId}/printers | Printerszuordnung eines Deployments lesen |
| PUT | /api/v1/deployments/{deploymentId}/printers/{name} | Printerszuordnung setzen |
| DELETE | /api/v1/deployments/{deploymentId}/printers/{name} | Printerszuordnung entfernen |
| DELETE | /api/v1/printers/{printerId} | Uebernommenes Druckziel entfernen (AB#1829) |
Runner & Enrollment
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/runner-enrollments | Runner-Bootstrap: Enrollment-Token gegen Client-Zertifikat (AB#383) |
| GET | /api/v1/runner-enrollments | Wartende Enrollment-Vorgaenge (AB#1080) |
| GET | /api/v1/runner-enrollments/{id} | Stand eines Enrollment-Vorgangs (AB#383) |
| POST | /api/v1/runner-enrollments/{id}/approval | Einen wartenden Enrollment-Vorgang freigeben (AB#1080) |
| GET | /api/v1/runner-groups | Runner groupn auflisten |
| POST | /api/v1/runner-groups | Runner group anlegen |
| GET | /api/v1/runner-groups/{groupId}/deployments | Verteilungsstand einer Gruppe |
| POST | /api/v1/runner-groups/{groupId}/enrollment-tokens | Enrollment-Token ausstellen |
| POST | /api/v1/runner-groups/{groupId}/installer | Generate installer package for a runner group |
| GET | /api/v1/runners | Runner-Liste |
| GET | /api/v1/runners/{runnerId} | Runner-Detail |
| POST | /api/v1/runners/{runnerId}/discovery | Printerssuche an einem Runner anfordern |
| POST | /api/v1/runners/{runnerId}/jobs | Print job an einen Runner geben |
| GET | /api/v1/runners/{runnerId}/jobs | Auftraege eines Runners |
| GET | /api/v1/runner-groups/{groupId}/context | Read group-level context parameters |
| PUT | /api/v1/runner-groups/{groupId}/context/{name} | Set group-level context parameters |
| DELETE | /api/v1/runner-groups/{groupId}/context/{name} | Remove group-level context parameters |
| GET | /api/v1/runners/{runnerId}/context | Read runner-level context parameters |
| PUT | /api/v1/runners/{runnerId}/context/{name} | Set runner-level context parameters |
| DELETE | /api/v1/runners/{runnerId}/context/{name} | Remove runner-level context parameters |
Users
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/users | Users auflisten |
| POST | /api/v1/users | Users anlegen |
| GET | /api/v1/users/{userId} | Users einzeln lesen |
| POST | /api/v1/users/{userId}/roles | Rolle vergeben |
| DELETE | /api/v1/users/{userId}/roles/{role} | Revoke role |
| POST | /api/v1/users/{userId}/password | Passwort eines Userss setzen |
| POST | /api/v1/users/{userId}/deactivate | Zugang entziehen |
| POST | /api/v1/users/{userId}/reactivate | Zugang wiederherstellen |
Import
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/import | Quelldatei in DSL-Dokumente konvertieren |
AI
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/ai/lint-erklaerung | Lint-Befund erklaeren |
| POST | /api/v1/ai/log-qa | Audit-Log per strukturierter Frage erklaeren |
Counters (Serialization)
| Method | Endpoint | Beschreibung |
|---|---|---|
| POST | /api/v1/counters | Zaehler-Sequenz anlegen |
| GET | /api/v1/counters/{name} | Stand einer Zaehler-Sequenz lesen |
| POST | /api/v1/counters/{name}/deactivate | Zaehler-Sequenz stilllegen |