Der erste Aufruf mit curl
Mit Schlüssel und curl GET /v1/me und GET /v1/playlists aufrufen, die Antwort und ihre Kopfzeilen ansehen — in fünf Minuten.
3 Minuten LesezeitErste SchritteStand: 25.10.2026
Auf dieser Seite
Bevor Sie loslegen
- Für wen
- Entwicklerinnen und Entwickler mit einem frisch erzeugten API-Schlüssel
- Voraussetzung
- ein Schlüssel
ak_…mit dem Rechtplaylist.list(Klasse Nur Lesen genügt) und die Basis-Adresse Ihrer Umgebung — der Ursprung, den auch Ihr Portal anspricht - Ort
- Kommandozeile
Nach dieser Anleitung haben Sie mit Ihrem Schlüssel zwei Routen aufgerufen — Ihr eigenes Konto und Ihre Playlisten — und die Kopfzeilen einer Antwort gesehen. Fünf Minuten, keine Installation außer curl.
Schritte
-
Legen Sie Adresse und Schlüssel in Umgebungsvariablen ab. Der Schlüssel gehört in eine Kopfzeile, nie in die Adresse — Adressen landen in Protokollen, Kopfzeilen nicht.
export SZENERA_API="https://<basis-adresse-ihrer-umgebung>" export SZENERA_API_KEY="ak_…" -
Rufen Sie Ihr eigenes Konto ab.
GET /v1/meliest das Benutzerprofil, dem der Schlüssel gehört — die Antwort hier auf die Felder gekürzt, die zählen:curl -sS "$SZENERA_API/v1/me" \ -H "Authorization: Bearer $SZENERA_API_KEY"{ "id": "usr_01KERQ74K0TEAM000000000001", "email": "owner@demo.local", "tenantId": "tnt_01KERPXZM0DEM0000000000001", "status": "active", "profile": { "displayName": "Julia Petersen", "locale": "de-DE", "timezone": "Europe/Berlin" }, "roleAssignments": [ { "roleId": "rol_01KERPYWXGRECHT00000000001", "assignedAt": "2026-01-12T09:05:00.000Z", "assignedById": "usr_01KERQ74K0TEAM000000000001", "expiresAt": null } ] }tenantIdist die Kennung Ihrer Organisation. Steht dort eine andere als erwartet, zeigt der Schlüssel woandershin, als gedacht. -
Rufen Sie die Liste Ihrer Playlisten ab.
GET /v1/playlistsbraucht das Rechtplaylist.list, das die Klassen Nur Lesen, Ausspielsteuerung und Vollzugriff enthalten — ein Schlüssel der Klasse Medien-Automation oder Inhalte-Pflege bekommt hier eine403. Auch diese Antwort ist auf die wichtigsten Felder gekürzt:curl -sS "$SZENERA_API/v1/playlists?limit=5" \ -H "Authorization: Bearer $SZENERA_API_KEY"{ "items": [ { "id": "pll_01KWV91ZS0PRGRAMM000000001", "name": "Tagesprogramm", "version": 6, "createdAt": "2026-07-06T08:35:00.000Z", "updatedAt": "2026-07-13T07:52:00.000Z", "items": [ { "id": "pli_01KWV92A70PKT0000000000001", "kind": "scene", "sceneId": "scn_01KJPX8NH0SZENE00000000001", "sceneVersionId": null, "durationMs": 10000, "transition": null, "order": 0 } ] } ], "nextCursor": "cGxsOjIwMjYtMDMtMTE", "total": 2 }Diese Liste nimmt
limitzwischen 1 und 200 (Vorgabe 50) und blättert mitcursorweiter;nextCursorfehlt auf der letzten Seite. Die Displays (GET /v1/players) erreichen Sie mit einem Schlüssel genauso —fleet.player.listist schlüsselfähig. Die Geräte dahinter (GET /v1/devices) nicht:identity.device.listist nur für Benutzerkonten vorgesehen. Ein Display ist die Fläche, die etwas zeigt; ein Gerät die Maschine mit Zertifikat und Kopplung — und die bleibt Menschen vorbehalten. -
Sehen Sie sich die Kopfzeilen an. Mit
-izeigt curl den Status und die Kopfzeilen vor dem Rumpf:curl -sSi "$SZENERA_API/v1/me" \ -H "Authorization: Bearer $SZENERA_API_KEY" | head -n 12Zwei Zeilen zählen:
Content-Type: application/jsonundX-Trace-Id: trc_…. Die Trace-Kennung ist die Spur dieses einen Aufrufs; notieren Sie sie, wenn etwas nicht stimmt.
Derselbe Aufruf mit der Kommandozeile
Die Kommandozeile szenera nimmt Adresse und Schlüssel aus Umgebungsvariablen und spricht dieselben Routen; ist die Standardausgabe kein Terminal, gibt sie JSON aus. Den Schlüssel liest sie aus demselben SZENERA_API_KEY wie in Schritt 1, die Adresse aus SZENERA_BASE_URL:
SZENERA_BASE_URL="$SZENERA_API" szenera whoami
SZENERA_BASE_URL="$SZENERA_API" szenera playlist list --limit=5
Wie Sie an die Kommandozeile kommen, steht unter Die CLI beziehen.
Ergebnis prüfen
- Beide Aufrufe antworten mit
200und einem JSON-Rumpf; Fehler kämen als Rumpf mitcode,messageundtraceId. - Die Liste der Playlisten trägt
itemsund, solange weitere Seiten folgen,nextCursor. - Im Portal steht der Schlüssel unter Einstellungen › Organisation › API-Schlüssel jetzt mit einem Zeitpunkt in Zuletzt benutzt.
Wenn etwas nicht klappt
| Symptom | Bedeutung | Lösung |
|---|---|---|
401 mit Auth.Required |
Kopfzeile fehlt, Bearer fehlt, oder der Wert hat kein bekanntes Präfix (Tippfehler im Präfix). |
Kopfzeile und Variable prüfen; siehe Wenn der erste Aufruf scheitert. |
401 mit Auth.TokenMalformed |
Das Präfix ak_ stimmt, aber der Schlüssel ist abgeschnitten oder enthält ungültige Zeichen. |
Den Wert vollständig aus dem Geheimnis-Speicher übernehmen: ak_ plus 26 Zeichen. |
401 mit Auth.ApiKeyUnknown, Auth.ApiKeyRevoked oder Auth.ApiKeyExpired |
Der Schlüssel existiert nicht, wurde widerrufen oder ist abgelaufen. | Neuen Schlüssel erzeugen. |
403 mit Permission.Denied |
Der Schlüssel trägt das Recht der Operation nicht — oder die Route verlangt ein Recht, das Schlüssel nie tragen (Geräte, Koppeln und Löschen von Displays, Schlüsselverwaltung). | Klasse oder Rechte beim Erzeugen anpassen; für diese Routen ein Sitzungstoken verwenden. |
404 mit Resource.NotFound |
Der Pfad trifft keine Route — meist fehlt /v1, oder die Basis-Adresse ist falsch. |
Adresse und Pfad prüfen. |
422 mit Validation.Failed |
Ein Parameter ist ungültig, etwa limit=500. |
details.issues lesen und den Wert korrigieren. |