Zum Inhalt springen

Was eine Antwort enthält

Status, Kopfzeilen, Listenform, Kennungen mit Präfix und der Fehlerrumpf — alles, was in einer Antwort der API steckt, in Tabellen.

5 Minuten LesezeitErste SchritteStand: 25.10.2026

Auf dieser Seite

Bevor Sie loslegen

Für wen
Entwicklerinnen und Entwickler, die Antworten der Szenera-API auswerten
Voraussetzung
ein erster Aufruf, dessen Antwort Sie vor sich haben

Diese Seite ist eine Nachschlagetafel: Suchen Sie in der Tabelle, was Ihnen in einer Antwort begegnet — Status, Kopfzeile, Listenfeld, Kennung oder Fehlerfeld —, und lesen Sie daneben, was es bedeutet.

Statusklassen

Status Bedeutung Was Sie tun
200, 201 Erfolg; 201 beim Anlegen einer Ressource. Rumpf auswerten.
302 Nur auf den Anmeldewegen über einen Anbieter, bei Cloud-Anbindungen (Rundlauf durch den Browser) und beim Abholen eines App-Bündels (Weiterleitung zur Ablage). Für gewöhnliche Aufrufe mit Schlüssel nicht relevant; curl folgt mit -L.
4xx Ihr Aufruf: Ausweis, Recht, Pfad, Rumpf oder Zustand passen nicht. Immer mit Fehlerrumpf. code auswerten, Aufruf korrigieren.
5xx Die Plattform oder ein nachgelagerter Dienst (502). Ebenfalls mit Fehlerrumpf. traceId melden; bei 502 mit Retry-After später wiederholen.

Kopfzeilen

Bis auf Idempotent-Replay sind alle hier genannten Kopfzeilen auch für Browser-Clients auf einem anderen Ursprung lesbar.

Kopfzeile Wann Bedeutung
Content-Type immer application/json; mit Accept: application/problem+json bei Fehlern application/problem+json
X-Trace-Id immer Spur-Kennung dieses Aufrufs, trc_…; identisch mit traceId im Fehlerrumpf
X-Correlation-Id wenn der Aufruf eine Korrelations-Kennung führt Kennung eines zusammenhängenden Vorgangs, cor_…
ETag auf den Lese- und Änderungsrouten versionierter Ressourcen (Szenen, Playlisten, Programme, Rollen, Displays) die version der Ressource als Kennzeichen, etwa "7"; beim Ändern als If-Match zurückschicken (siehe ETag und If-Match)
Idempotent-Replay bei einer Wiederholung mit demselben Idempotency-Key true: Die gespeicherte Antwort wurde geliefert, die Aktion lief nicht erneut
X-RateLimit-Limit nur auf gedrosselten Routen erlaubte Anfragen im Fenster
X-RateLimit-Remaining nur auf gedrosselten Routen davon noch offen
X-RateLimit-Reset nur auf gedrosselten Routen Beginn des nächsten Fensters in Unix-Sekunden
Retry-After bei 429 und bei 502 mit Wartezeit Sekunden bis zum nächsten erlaubten Versuch
Server-Timing wenn die Plattform Zeitmessungen mitgibt Dauer der Bearbeitung auf dem Server

Listen

Geblätterte Listen haben immer dieselbe Form:

Feld Bedeutung
items die Datensätze dieser Seite
nextCursor die Marke für die nächste Seite; fehlt auf der letzten Seite
total die Gesamtzahl, wo die Route sie kennt — sonst fehlt das Feld

Sie blättern mit den Abfrageparametern limit (Seitengröße) und cursor (Wert von nextCursor). Bei geblätterten Listen liegt limit zwischen 1 und 200 mit Vorgabe 50; die gefilterten Listen der Verwaltung (Geräte, Konten, Rollen, Schlüssel) deckeln bei 100 mit Vorgabe 25. Kleine, nicht blätterbare Bestände antworten mit einer einfachen Liste — die Form steht am Endpunkt in der Referenz.

Kennungen

Jede Kennung besteht aus einem Präfix und 26 Zeichen im Crockford-Base32-Alphabet (Ziffern und Großbuchstaben ohne I, L, O und U), zum Beispiel scn_01KJPX8NH0SZENE00000000001. Das Präfix sagt, was die Kennung bezeichnet:

Präfix Bezeichnet
tnt_ Organisation
usr_ Benutzerkonto
dev_ Gerät
ply_ Display (in der API playerId)
scn_ Szene
pll_ Playlist
sch_ Programm (in der API scheduleId)
ast_ Medium
fld_ Ordner der Medien
rol_ Rolle
whk_ Webhook-Endpunkt
whd_ Webhook-Zustellung
akm_ API-Schlüssel (der Eintrag in Listen)
adv_ Werbepartner
acp_ Werbekampagne
bkl_ Buchung einer Werbekampagne
crv_ Motiv einer Buchung
ppr_ Planfassung eines Displays
pss_ Bildschirmaufnahme eines Displays
pbt_ Stapel von Ausspielungen, den ein Gerät gemeldet hat
pcl_ Abschluss einer Buchung über einen Zeitraum
prf_ Nachweis über einen Abschluss
pfi_ Datei eines Nachweises (PDF, Protokoll, Manifest, Bildschirmaufnahme)
pdy_ Zustellung eines Nachweises an einen Ansprechpartner des Werbepartners
shl_ Verweis, mit dem ein Werbepartner seine Nachweise ohne Konto öffnet
rvs_ Erlösaufstellung eines Standorts für einen Monat
trc_ Spur-Kennung eines Aufrufs
cor_ Korrelations-Kennung eines Vorgangs

Der Schlüssel selbst beginnt mit ak_ und ist ein Geheimwert: Er erscheint nur einmal bei der Ausstellung. In Listen steht seine Kennung akm_… und der Präfix ak_ plus neun Zeichen zum Wiedererkennen.

Fehlerrumpf

Feld Wann Bedeutung
code immer stabiler Code in der Form Bereich.Ursache, etwa Auth.Required oder Conflict.OptimisticLock — darauf schalten Sie
message immer Kurztext für Menschen; nicht auswerten
traceId immer, nie leer Spur-Kennung trc_… für Rückfragen
details wenn der Fehler Zusatzangaben trägt etwa issues bei Validation.Failed, expected/actual bei Conflict.OptimisticLock; fehlt sonst ganz
correlationId wenn der Aufruf eine Korrelations-Kennung führt cor_…
retryAfterSeconds, externalService nur bei Integrationsfehlern (502) Wartezeit (auch als Retry-After) und der betroffene nachgelagerte Dienst
stack nie im Produktivbetrieb nur in Entwicklungsumgebungen bei internen Fehlern
{
  "code": "Scene.NotFound",
  "message": "Resource not found",
  "traceId": "trc_01KXWFT3H0SPR0000000000001"
}

Der HTTP-Status folgt dem Bereich des Codes: Validation.* → 422, Auth.* → 401, Permission.* → 403, *.NotFound → 404, Conflict.* → 409, RateLimit.* → 429, Payload.* → 413, Integration.* → 502. Einzelne Codes weichen ausdrücklich ab; die Seiten der Fehlercodes nennen für jeden Code den tatsächlich gesendeten Status.

Fehler als Problem Details (RFC 9457)

Senden Sie Accept: application/problem+json, kommt derselbe Fehler als ProblemDetails-Dokument:

Feld Wann Bedeutung
type immer Adressform des Codes, klein geschrieben mit Schrägstrichen
title immer Kurztitel des Codes
status immer der HTTP-Status
detail immer der Text von message
code immer derselbe Code wie im Standard-Rumpf
instance nach Lage der angefragte Pfad
errorDetails nach Lage dieselben Zusatzangaben wie details
traceId, correlationId, retryAfterSeconds nach Lage wie oben

Ein stack gibt es in dieser Form nie.

Zeitangaben

Alle Zeitpunkte sind Zeichenketten nach ISO 8601 mit Zeitzonen-Angabe, zum Beispiel "createdAt": "2026-05-04T07:00:00.000Z". Ein fehlender Zeitpunkt steht als null (etwa "expiresAt": null für einen unbefristeten Schlüssel).

Weiterführendes