Diese Referenz beschreibt alle 59 veröffentlichten Workspace- und Creator-Operationen sowie 57 Datenschemas. Methoden, Pfade, Pflichtfelder, Grenzen und Antworten stammen aus demselben OpenAPI-Vertrag wie der Download.
OpenAPI-Vertrag herunterladen · Abläufe und API-Schlüssel · OpenAPI 3.0.3 / 1.0.0
Die Beispiele verwenden
Die Beispiele verwenden feste gültige Beispielkennungen und schemafähige Werte. Ersetze Workspace-, Organisations-, HUD- und Ressourcenkennungen durch deine tatsächlich gelesenen Kennungen. Verknüpfte Teams, Wettbewerbe, Maps und HUD-Versionen müssen im Ziel vorhanden sein; lade benötigte Medien zuerst hoch. Passe bei Änderungen die zuletzt gelesene Revision an. Die Beispiele behaupten keine bereits vorhandenen Datensätze oder Berechtigungen.
Die PowerShell-Beispiele lesen deinen Schlüssel aus SOU_WORKSPACE_API_KEY oder SOU_CREATOR_API_KEY. Diese Umgebungsvariablen sind lokale Beispielnamen. Sende den Schlüssel ausschließlich als Authorization: Bearer, niemals als URL-Parameter. Binärbeispiele lesen eine vorhandene passende Datei und übertragen deren Originalbytes.
Authentifizierung und Berechtigungen
CreatorKey
Separater organisationsgebundener Creator-Schlüssel aus /account/api-keys. Jede Operation benötigt die aktuelle ausdrückliche Publisher-Berechtigung. Kein Workspace- oder Desktop-Schlüssel.
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "sou_hud_\u003Cid\u003E_\u003Csecret\u003E",
"description": "Separate organization-bound creator key from /account/api-keys. Requires current explicit Publisher permission on every operation. Never a workspace or desktop key."
}WorkspaceKey
Workspace-gebundener API-Schlüssel aus deinem Konto; kein OAuth-Desktop-Token. Ausschließlich in Authorization senden, niemals in einer URL.
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "sou_ws_\u003Cid\u003E_\u003Csecret\u003E",
"description": "Workspace-bound API key from your account, not an OAuth desktop token. Send only in Authorization; never in a URL."
}Revisionen, Grenzen und Fehler
Workspace-Schreibzugriffe vergleichen expectedRevision mit dem gespeicherten Zustand. Neue Ressourcen beginnen mit expectedRevision: 0. Jede erfolgreiche Änderung erhöht revision; Löschmarkierungen bleiben erhalten. Änderungen über /changes sind atomar und prüfen alle Revisionen und Verknüpfungen vor der Übernahme. Die HUD-Beschreibung und ihre Medien teilen eine eigene Detailsrevision.
Das gemeinsame Limit beträgt 120 Aufrufe pro Minute je Schlüsselinhaber, über dessen Schlüssel hinweg. Bei 429 gilt Retry-After (60 Sekunden). Bei 409 den aktuellen Zustand neu lesen und abgleichen. Nach verlorener Antwort oder 500 kann ein Schreibzugriff bereits übernommen sein: vor einem erneuten Schreiben Zustand, Revision beziehungsweise Paketversion und SHA-256 prüfen. Für Fehler ohne angegebenes Antwortschema ist kein JSON-Fehlerobjekt zugesichert.
Alle Operationen
GET /api/v1/integration/workspaces/{workspace}/snapshot
operationId: getWorkspaceSnapshot
Alle typisierten Sammlungen einschließlich Löschmarkierungen lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/snapshot' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Sammlungen eines gemeinsamen Workspace-Snapshots. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/WorkspaceSnapshot"
}Vollständige abhängige Schemas: WorkspaceSnapshot
{
"teams": [],
"players": [],
"competitions": [],
"seasons": [],
"sections": [],
"maps": [],
"mapPools": [],
"matches": [],
"startupConfigs": [],
"panelTemplates": []
}POST /api/v1/integration/workspaces/{workspace}/changes
operationId: applyWorkspaceChanges
Änderungen nach Ressourcentyp gruppiert atomar übernehmen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Mindestens eine Änderung in den benannten Sammlungen ist erforderlich, insgesamt höchstens 5000. Kennungen müssen innerhalb ihrer Sammlung eindeutig sein. Alle Revisionen und Verknüpfungen müssen passen; es gibt keine teilweise Übernahme. Löschungen verwenden deleted:true und fehlendes oder null gesetztes data.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WorkspaceChanges"
}Vollständige abhängige Schemas: WorkspaceChanges
{
"teams": [
{
"id": "team-a",
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}
]
}$body = @'
{
"teams": [
{
"id": "team-a",
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}
]
}
'@
Invoke-RestMethod -Method Post -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/changes' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Vollständiger typisierter Snapshot nach erfolgreicher Übernahme. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Revisions- oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/WorkspaceSnapshot"
}Vollständige abhängige Schemas: WorkspaceSnapshot
{
"teams": [
{
"id": "team-a",
"revision": 1,
"deleted": false,
"data": {
"id": "team-a",
"name": "Example team"
}
}
],
"players": [],
"competitions": [],
"seasons": [],
"sections": [],
"maps": [],
"mapPools": [],
"matches": [],
"startupConfigs": [],
"panelTemplates": []
}POST /api/v1/integration/workspaces/{workspace}/media/check
operationId: checkWorkspaceMedia
Fehlende inhaltsadressierte Bilder ohne Datenänderung ermitteln.
Authentifizierung: WorkspaceKey. Ein lesender Workspace-Schlüssel genügt; das Konto benötigt aktuell Bearbeiter- oder Verwalterrechte.
Das Konto benötigt aktuell Bearbeiter- oder Verwalterrechte; ein lesender Schlüssel genügt. Höchstens 400000 Bytes Anfragekörper und 5000 unterschiedliche Namen.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/CheckMedia"
}Vollständige abhängige Schemas: CheckMedia
{
"names": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png"
]
}$body = @'
{
"names": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png"
]
}
'@
Invoke-RestMethod -Method Post -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/media/check' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Nur die fehlenden Namen. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MediaPresence"
}Vollständige abhängige Schemas: MediaPresence
{
"missing": [
"example"
]
}GET /api/v1/integration/workspaces/{workspace}/media/{name}
operationId: downloadWorkspaceMedia
Ein Bild aus dem Workspace herunterladen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
name | path | ja | {"type":"string","pattern":"^[a-f0-9]{64}\\.(png|jpg|gif)$"} | "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png" |
Anfrage
Kein Anfragekörper.
Invoke-WebRequest -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/media/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -OutFile './download.bin'Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Originalbytes des Bildes. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Bild nicht gefunden. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/octet-stream
{
"type": "string",
"format": "binary"
}Die Antwort enthält Original-Binärdaten. Speichere sie mit dem gezeigten Aufruf in eine Datei; der Vertrag legt keinen JSON-Körper fest.
PUT /api/v1/integration/workspaces/{workspace}/media/{name}
operationId: uploadWorkspaceMedia
Ein Bild vor der Verwendung in Ressourcen hochladen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibender Schlüssel und Bearbeiter- oder Verwalterrechte erforderlich. Höchstens 4 MiB. Der Name besteht aus dem SHA-256 der Originalbytes in Kleinbuchstaben plus .png/.jpg/.gif. In Ressourcen wird /cast-media/{name} verwendet. Vorhandene identische Hashes dürfen erneut verwendet werden.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
name | path | ja | {"type":"string","pattern":"^[a-f0-9]{64}\\.(png|jpg|gif)$"} | "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png" |
Anfrage
Anfragekörper erforderlich: ja.
application/octet-stream
{
"type": "string",
"format": "binary"
}$file = './image.png'
$name = (Get-FileHash -LiteralPath $file -Algorithm SHA256).Hash.ToLowerInvariant() + '.png'
Invoke-WebRequest -Method Put -Uri ( 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/media/' + $name ) -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/octet-stream' -InFile $fileAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
204 | In diesem Workspace gespeichert. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
GET /api/v1/integration/workspaces/{workspace}/teams
operationId: listTeams
Alle Teams einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/teams' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamResource"
}
}Vollständige abhängige Schemas: TeamResource
[
{
"id": "team-a",
"revision": 1,
"deleted": false,
"data": {
"id": "team-a",
"name": "Example team"
}
}
]GET /api/v1/integration/workspaces/{workspace}/teams/{id}
operationId: getTeam
Eine Ressource vom Typ Team oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "team-a" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/teams/team-a' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/TeamResource"
}Vollständige abhängige Schemas: TeamResource
{
"id": "team-a",
"revision": 1,
"deleted": false,
"data": {
"id": "team-a",
"name": "Example team"
}
}PUT /api/v1/integration/workspaces/{workspace}/teams/{id}
operationId: writeTeam
Eine Ressource vom Typ Team erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "team-a" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteTeam"
}Vollständige abhängige Schemas: WriteTeam
{
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/teams/team-a' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/TeamResource"
}Vollständige abhängige Schemas: TeamResource
{
"id": "team-a",
"revision": 1,
"deleted": false,
"data": {
"id": "team-a",
"name": "Example team"
}
}DELETE /api/v1/integration/workspaces/{workspace}/teams/{id}
operationId: deleteTeam
Eine Ressource vom Typ Team als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "team-a" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/teams/team-a?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/TeamResource"
}Vollständige abhängige Schemas: TeamResource
{
"id": "team-a",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/players
operationId: listPlayers
Alle Spieler einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/players' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PlayerResource"
}
}Vollständige abhängige Schemas: PlayerResource
[
{
"id": "76561198000000001",
"revision": 1,
"deleted": false,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}
]GET /api/v1/integration/workspaces/{workspace}/players/{id}
operationId: getPlayer
Eine Ressource vom Typ Spieler oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","pattern":"^[0-9]{17}$"} | "76561198000000001" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/players/76561198000000001' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PlayerResource"
}Vollständige abhängige Schemas: PlayerResource
{
"id": "76561198000000001",
"revision": 1,
"deleted": false,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}PUT /api/v1/integration/workspaces/{workspace}/players/{id}
operationId: writePlayer
Eine Ressource vom Typ Spieler erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","pattern":"^[0-9]{17}$"} | "76561198000000001" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WritePlayer"
}Vollständige abhängige Schemas: WritePlayer
{
"expectedRevision": 0,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/players/76561198000000001' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PlayerResource"
}Vollständige abhängige Schemas: PlayerResource
{
"id": "76561198000000001",
"revision": 1,
"deleted": false,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}DELETE /api/v1/integration/workspaces/{workspace}/players/{id}
operationId: deletePlayer
Eine Ressource vom Typ Spieler als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","pattern":"^[0-9]{17}$"} | "76561198000000001" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/players/76561198000000001?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PlayerResource"
}Vollständige abhängige Schemas: PlayerResource
{
"id": "76561198000000001",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/competitions
operationId: listCompetitions
Alle Wettbewerbe einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/competitions' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CompetitionResource"
}
}Vollständige abhängige Schemas: CompetitionResource
[
{
"id": "competition-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}
]GET /api/v1/integration/workspaces/{workspace}/competitions/{id}
operationId: getCompetition
Eine Ressource vom Typ Wettbewerb oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "competition-2026" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/competitions/competition-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CompetitionResource"
}Vollständige abhängige Schemas: CompetitionResource
{
"id": "competition-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}PUT /api/v1/integration/workspaces/{workspace}/competitions/{id}
operationId: writeCompetition
Eine Ressource vom Typ Wettbewerb erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "competition-2026" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteCompetition"
}Vollständige abhängige Schemas: WriteCompetition
{
"expectedRevision": 0,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/competitions/competition-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CompetitionResource"
}Vollständige abhängige Schemas: CompetitionResource
{
"id": "competition-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}DELETE /api/v1/integration/workspaces/{workspace}/competitions/{id}
operationId: deleteCompetition
Eine Ressource vom Typ Wettbewerb als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "competition-2026" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/competitions/competition-2026?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CompetitionResource"
}Vollständige abhängige Schemas: CompetitionResource
{
"id": "competition-2026",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/seasons
operationId: listSeasons
Alle Seasons einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/seasons' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SeasonResource"
}
}Vollständige abhängige Schemas: SeasonResource
[
{
"id": "season-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}
]GET /api/v1/integration/workspaces/{workspace}/seasons/{id}
operationId: getSeason
Eine Ressource vom Typ Season oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "season-2026" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/seasons/season-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SeasonResource"
}Vollständige abhängige Schemas: SeasonResource
{
"id": "season-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}PUT /api/v1/integration/workspaces/{workspace}/seasons/{id}
operationId: writeSeason
Eine Ressource vom Typ Season erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "season-2026" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteSeason"
}Vollständige abhängige Schemas: WriteSeason
{
"expectedRevision": 0,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/seasons/season-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SeasonResource"
}Vollständige abhängige Schemas: SeasonResource
{
"id": "season-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}DELETE /api/v1/integration/workspaces/{workspace}/seasons/{id}
operationId: deleteSeason
Eine Ressource vom Typ Season als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "season-2026" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/seasons/season-2026?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SeasonResource"
}Vollständige abhängige Schemas: SeasonResource
{
"id": "season-2026",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/sections
operationId: listSections
Alle Bereiche einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/sections' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SectionResource"
}
}Vollständige abhängige Schemas: SectionResource
[
{
"id": "section-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}
]GET /api/v1/integration/workspaces/{workspace}/sections/{id}
operationId: getSection
Eine Ressource vom Typ Bereich oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "section-2026" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/sections/section-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SectionResource"
}Vollständige abhängige Schemas: SectionResource
{
"id": "section-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}PUT /api/v1/integration/workspaces/{workspace}/sections/{id}
operationId: writeSection
Eine Ressource vom Typ Bereich erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "section-2026" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteSection"
}Vollständige abhängige Schemas: WriteSection
{
"expectedRevision": 0,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/sections/section-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SectionResource"
}Vollständige abhängige Schemas: SectionResource
{
"id": "section-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}DELETE /api/v1/integration/workspaces/{workspace}/sections/{id}
operationId: deleteSection
Eine Ressource vom Typ Bereich als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "section-2026" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/sections/section-2026?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/SectionResource"
}Vollständige abhängige Schemas: SectionResource
{
"id": "section-2026",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/maps
operationId: listMaps
Alle Maps einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/maps' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MapResource"
}
}Vollständige abhängige Schemas: MapResource
[
{
"id": "map-dust2",
"revision": 1,
"deleted": false,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}
]GET /api/v1/integration/workspaces/{workspace}/maps/{id}
operationId: getMap
Eine Ressource vom Typ Map oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "map-dust2" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/maps/map-dust2' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapResource"
}Vollständige abhängige Schemas: MapResource
{
"id": "map-dust2",
"revision": 1,
"deleted": false,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}PUT /api/v1/integration/workspaces/{workspace}/maps/{id}
operationId: writeMap
Eine Ressource vom Typ Map erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "map-dust2" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteMap"
}Vollständige abhängige Schemas: WriteMap
{
"expectedRevision": 0,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/maps/map-dust2' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapResource"
}Vollständige abhängige Schemas: MapResource
{
"id": "map-dust2",
"revision": 1,
"deleted": false,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}DELETE /api/v1/integration/workspaces/{workspace}/maps/{id}
operationId: deleteMap
Eine Ressource vom Typ Map als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "map-dust2" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/maps/map-dust2?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapResource"
}Vollständige abhängige Schemas: MapResource
{
"id": "map-dust2",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/map-pools
operationId: listMapPools
Alle Mappools einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/map-pools' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MapPoolResource"
}
}Vollständige abhängige Schemas: MapPoolResource
[
{
"id": "pool-main",
"revision": 1,
"deleted": false,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}
]GET /api/v1/integration/workspaces/{workspace}/map-pools/{id}
operationId: getMapPool
Eine Ressource vom Typ Mappool oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "pool-main" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/map-pools/pool-main' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapPoolResource"
}Vollständige abhängige Schemas: MapPoolResource
{
"id": "pool-main",
"revision": 1,
"deleted": false,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}PUT /api/v1/integration/workspaces/{workspace}/map-pools/{id}
operationId: writeMapPool
Eine Ressource vom Typ Mappool erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "pool-main" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteMapPool"
}Vollständige abhängige Schemas: WriteMapPool
{
"expectedRevision": 0,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/map-pools/pool-main' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapPoolResource"
}Vollständige abhängige Schemas: MapPoolResource
{
"id": "pool-main",
"revision": 1,
"deleted": false,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}DELETE /api/v1/integration/workspaces/{workspace}/map-pools/{id}
operationId: deleteMapPool
Eine Ressource vom Typ Mappool als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "pool-main" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/map-pools/pool-main?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MapPoolResource"
}Vollständige abhängige Schemas: MapPoolResource
{
"id": "pool-main",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/matches
operationId: listMatchs
Alle Matches einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/matches' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchResource"
}
}Vollständige abhängige Schemas: MatchResource
[
{
"id": "match-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}
]GET /api/v1/integration/workspaces/{workspace}/matches/{id}
operationId: getMatch
Eine Ressource vom Typ Match oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "match-2026" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/matches/match-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MatchResource"
}Vollständige abhängige Schemas: MatchResource
{
"id": "match-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}PUT /api/v1/integration/workspaces/{workspace}/matches/{id}
operationId: writeMatch
Eine Ressource vom Typ Match erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "match-2026" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteMatch"
}Vollständige abhängige Schemas: WriteMatch
{
"expectedRevision": 0,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/matches/match-2026' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MatchResource"
}Vollständige abhängige Schemas: MatchResource
{
"id": "match-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}DELETE /api/v1/integration/workspaces/{workspace}/matches/{id}
operationId: deleteMatch
Eine Ressource vom Typ Match als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "match-2026" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/matches/match-2026?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/MatchResource"
}Vollständige abhängige Schemas: MatchResource
{
"id": "match-2026",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/startup-configs
operationId: listStartupConfigs
Alle Startconfigs einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/startup-configs' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StartupConfigResource"
}
}Vollständige abhängige Schemas: StartupConfigResource
[
{
"id": "config-demo",
"revision": 1,
"deleted": false,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}
]GET /api/v1/integration/workspaces/{workspace}/startup-configs/{id}
operationId: getStartupConfig
Eine Ressource vom Typ Startconfig oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "config-demo" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/startup-configs/config-demo' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/StartupConfigResource"
}Vollständige abhängige Schemas: StartupConfigResource
{
"id": "config-demo",
"revision": 1,
"deleted": false,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}PUT /api/v1/integration/workspaces/{workspace}/startup-configs/{id}
operationId: writeStartupConfig
Eine Ressource vom Typ Startconfig erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "config-demo" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WriteStartupConfig"
}Vollständige abhängige Schemas: WriteStartupConfig
{
"expectedRevision": 0,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/startup-configs/config-demo' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/StartupConfigResource"
}Vollständige abhängige Schemas: StartupConfigResource
{
"id": "config-demo",
"revision": 1,
"deleted": false,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}DELETE /api/v1/integration/workspaces/{workspace}/startup-configs/{id}
operationId: deleteStartupConfig
Eine Ressource vom Typ Startconfig als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "config-demo" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/startup-configs/config-demo?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/StartupConfigResource"
}Vollständige abhängige Schemas: StartupConfigResource
{
"id": "config-demo",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/workspaces/{workspace}/panel-templates
operationId: listPanelTemplates
Alle Panelvorlagen einschließlich Löschmarkierungen auflisten.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/panel-templates' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Sammlung mit Revisionen je Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PanelTemplateResource"
}
}Vollständige abhängige Schemas: PanelTemplateResource
[
{
"id": "template-main",
"revision": 1,
"deleted": false,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}
]GET /api/v1/integration/workspaces/{workspace}/panel-templates/{id}
operationId: getPanelTemplate
Eine Ressource vom Typ Panelvorlage oder ihre Löschmarkierung lesen.
Authentifizierung: WorkspaceKey. Lesender Workspace-Schlüssel und eine aktuelle Rolle im gebundenen Workspace erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "template-main" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/panel-templates/template-main' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PanelTemplateResource"
}Vollständige abhängige Schemas: PanelTemplateResource
{
"id": "template-main",
"revision": 1,
"deleted": false,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}PUT /api/v1/integration/workspaces/{workspace}/panel-templates/{id}
operationId: writePanelTemplate
Eine Ressource vom Typ Panelvorlage erstellen, ersetzen oder wiederherstellen.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. expectedRevision ist bei Neuerstellung 0, sonst die zuletzt gelesene Revision einschließlich Löschmarkierungen. data ersetzt die Ressource; ihre Kennung muss zum Pfad passen. Fehlende optionale Felder erhalten die Desktop-Standardwerte. Höchstens 8 MiB Anfragekörper und 256000 Zeichen serialisierte Daten.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "template-main" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/WritePanelTemplate"
}Vollständige abhängige Schemas: WritePanelTemplate
{
"expectedRevision": 0,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}$body = @'
{
"expectedRevision": 0,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/panel-templates/template-main' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Erfolgreich übernommene typisierte Ressource. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
409 | Veraltete Revision oder Datenbankkonflikt; neu lesen und abgleichen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PanelTemplateResource"
}Vollständige abhängige Schemas: PanelTemplateResource
{
"id": "template-main",
"revision": 1,
"deleted": false,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}DELETE /api/v1/integration/workspaces/{workspace}/panel-templates/{id}
operationId: deletePanelTemplate
Eine Ressource vom Typ Panelvorlage als gelöscht markieren; ihre Revision bleibt erhalten.
Authentifizierung: WorkspaceKey. Schreibfreigabe des Workspace-Schlüssels und aktuelle Bearbeiter- oder Verwalterrechte im gebundenen Workspace erforderlich.
Schreibfreigabe sowie Bearbeiter- oder Verwalterrechte erforderlich. Verknüpfte Ressourcen erst nach Auflösen ihrer Abhängigkeiten löschen; zusammenhängende Änderungen über /changes ausführen. Es erfolgt keine physische Löschung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" | |
id | path | ja | {"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9_-]\u002B$"} | "template-main" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/workspaces/11111111-1111-4111-8111-111111111111/panel-templates/template-main?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_WORKSPACE_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Löschmarkierung mit data:null und erhöhter Revision. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falscher Workspace, unzureichende Schlüsselfreigabe oder aktuelle Workspace-Rolle. | — |
404 | Diese Kennung hat noch nie existiert. | — |
409 | Veraltete Revision oder Datenbankkonflikt. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/PanelTemplateResource"
}Vollständige abhängige Schemas: PanelTemplateResource
{
"id": "template-main",
"revision": 2,
"deleted": true,
"data": null
}GET /api/v1/integration/organizations/{organization}/huds
operationId: listCreatorHuds
HUDs der gebundenen Organisation auflisten.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CreatorHud"
}
}Vollständige abhängige Schemas: CreatorHud
[
{
"id": "33333333-3333-4333-8333-333333333333",
"organizationId": "22222222-2222-4222-8222-222222222222",
"packageId": null,
"name": "Example HUD",
"visibility": "private",
"listed": false
}
]POST /api/v1/integration/organizations/{organization}/huds
operationId: createCreatorHud
Einen HUD-Eintrag in der gebundenen Organisation erstellen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/CreatorHudCreate"
}Vollständige abhängige Schemas: CreatorHudCreate
{
"name": "Example HUD",
"visibility": "private",
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}$body = @'
{
"name": "Example HUD",
"visibility": "private",
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}
'@
Invoke-RestMethod -Method Post -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CreatorHud"
}Vollständige abhängige Schemas: CreatorHud
{
"id": "33333333-3333-4333-8333-333333333333",
"organizationId": "22222222-2222-4222-8222-222222222222",
"packageId": null,
"name": "Example HUD",
"visibility": "private",
"listed": false
}GET /api/v1/integration/organizations/{organization}/huds/{hud}
operationId: getCreatorHud
Ein eigenes HUD einschließlich seiner Paketkennung lesen.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CreatorHud"
}Vollständige abhängige Schemas: CreatorHud
{
"id": "33333333-3333-4333-8333-333333333333",
"organizationId": "22222222-2222-4222-8222-222222222222",
"packageId": null,
"name": "Example HUD",
"visibility": "private",
"listed": false
}GET /api/v1/integration/organizations/{organization}/huds/{hud}/details
operationId: getCreatorHudDetails
Bearbeitbare mehrsprachige HUD-Angaben und Medienverweise lesen.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/details' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/HudDetails"
}Vollständige abhängige Schemas: HudDetails
{
"revision": 1,
"translations": [
{
"language": "en",
"description": null,
"author": null,
"authorUrl": null,
"imprintUrl": null,
"privacyUrl": null,
"preview": null,
"gallery": [],
"demo": null
}
]
}PUT /api/v1/integration/organizations/{organization}/huds/{hud}/details
operationId: setCreatorHudDetails
Mehrsprachige HUD-Texte und Links mit der zuletzt gelesenen Revision ersetzen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
Die Angaben gehören zum HUD und liegen außerhalb des .souhud-Pakets. Beschreibung, Nutzungsbedingungen und Lizenz enthalten Markdown mit höchstens 8000 Zeichen je Feld; rohem HTML wird nicht vertraut. Alle neuen Felder sind derzeit optional. Jedes befüllte übersetzte Feld benötigt sein en-Gegenstück. Fehlende oder null gesetzte terms/license erhalten bei vorhandenen Sprachzeilen den bisherigen Wert; eine leere Zeichenfolge leert das Feld. Fehlende Sprachzeilen werden vollständig entfernt. Nur absolute HTTP(S)-URLs ohne Zugangsdaten. Textänderungen erhalten die Medien. Höchstens 512 KiB JSON und 256 unterschiedliche normalisierte Sprachkennungen. Nach Konflikten neu lesen und Schreibzugriffe nicht blind wiederholen.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/SetHudDetails"
}Vollständige abhängige Schemas: SetHudDetails
{
"revision": 0,
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}$body = @'
{
"revision": 0,
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/details' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/HudDetails"
}Vollständige abhängige Schemas: HudDetails
{
"revision": 1,
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"imprintUrl": null,
"privacyUrl": null,
"preview": null,
"gallery": [],
"demo": null,
"terms": "Example terms.",
"license": "MIT"
}
]
}POST /api/v1/integration/organizations/{organization}/huds/{hud}/media/{language}/{kind}
operationId: uploadCreatorHudMedia
Ein Galeriebild ergänzen oder Vorschau beziehungsweise Demo einer Sprache ersetzen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
Originalbytes senden. Vorschau: mindestens 1920 × 900 Pixel, höchstens 5000000 Bytes. Galerie: mehrere Bilder mit jeweils mindestens 1920 × 900 Pixeln und höchstens 10000000 Bytes. Demo: ausschließlich MP4-Video mit höchstens 50000000 Bytes. Jede Medienart zuerst für en hochladen. Bilder werden dekodiert und ihre Abmessungen geprüft; bei MP4 werden Container und Videostruktur validiert. Medienänderungen erhöhen die gemeinsame Detailsrevision. Derzeit sind keine Galeriebilder vorgeschrieben; drei sind eine künftige Anforderung.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" | |
language | path | ja | {"type":"string","minLength":1,"maxLength":63,"description":"BCP 47 language tag, normalized to lowercase. Each populated translated field or media kind requires an English en counterpart."} | BCP-47-Sprachkennung, in Kleinbuchstaben normalisiert. Jedes befüllte übersetzte Feld und jede Medienart benötigt ein englisches en-Gegenstück. | "en" |
kind | path | ja | {"type":"string","enum":["preview","gallery","demo"]} | "preview" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 | |
Content-Disposition | header | nein | {"type":"string"} | Für demo erforderlich: attachment; filename="demo.mp4". Die Datei benötigt die Erweiterung .mp4. | "example" |
Anfrage
Anfragekörper erforderlich: ja.
image/png
{
"type": "string",
"format": "binary"
}image/jpeg
{
"type": "string",
"format": "binary"
}image/webp
{
"type": "string",
"format": "binary"
}video/mp4
{
"type": "string",
"format": "binary"
}Invoke-RestMethod -Method Post -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/media/en/preview?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -ContentType 'image/png' -InFile './preview.png'Für ein Demo-Video kind auf demo setzen, Content-Type: video/mp4 und Content-Disposition: attachment; filename="demo.mp4" senden sowie eine gültige MP4-Datei verwenden. Für gallery gelten die beschriebenen eigenen Bildgrenzen.
Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/HudDetails"
}Vollständige abhängige Schemas: HudDetails
{
"revision": 2,
"translations": [
{
"language": "en",
"description": null,
"author": null,
"authorUrl": null,
"imprintUrl": null,
"privacyUrl": null,
"preview": {
"id": "55555555-5555-4555-8555-555555555555",
"language": "en",
"kind": "preview",
"contentType": "image/png",
"length": 32768,
"width": 1920,
"height": 900,
"position": 0
},
"gallery": [],
"demo": null
}
]
}GET /api/v1/integration/organizations/{organization}/huds/{hud}/media/{media}
operationId: getCreatorHudMedia
Eine Mediendatei eines eigenen HUDs lesen.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" | |
media | path | ja | {"type":"string","format":"uuid"} | "55555555-5555-4555-8555-555555555555" |
Anfrage
Kein Anfragekörper.
Invoke-WebRequest -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/media/55555555-5555-4555-8555-555555555555' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -OutFile './download.bin'Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Originalbytes des Mediums mit dem geprüften Bild- oder MP4-Inhaltstyp. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/octet-stream
{
"type": "string",
"format": "binary"
}Die Antwort enthält Original-Binärdaten. Speichere sie mit dem gezeigten Aufruf in eine Datei; der Vertrag legt keinen JSON-Körper fest.
DELETE /api/v1/integration/organizations/{organization}/huds/{hud}/media/{media}
operationId: deleteCreatorHudMedia
Einen Medienverweis mit der zuletzt gelesenen Detailsrevision entfernen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" | |
media | path | ja | {"type":"string","format":"uuid"} | "55555555-5555-4555-8555-555555555555" | |
expectedRevision | query | ja | {"type":"integer","format":"int64","minimum":0} | 0 |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Delete -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/media/55555555-5555-4555-8555-555555555555?expectedRevision=1' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/HudDetails"
}Vollständige abhängige Schemas: HudDetails
{
"revision": 2,
"translations": [
{
"language": "en",
"description": null,
"author": null,
"authorUrl": null,
"imprintUrl": null,
"privacyUrl": null,
"preview": null,
"gallery": [],
"demo": null
}
]
}GET /api/v1/integration/organizations/{organization}/huds/{hud}/grants
operationId: listCreatorHudGrants
Workspace-Freigaben und offene Zugangsanfragen dieses HUDs auflisten.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/grants' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/HudGrant"
}
}Vollständige abhängige Schemas: HudGrant
[
{
"hudId": "33333333-3333-4333-8333-333333333333",
"workspaceId": "11111111-1111-4111-8111-111111111111",
"approved": false,
"selectedReleaseId": null,
"requested": false
}
]GET /api/v1/integration/organizations/{organization}/huds/{hud}/requests
operationId: listCreatorHudRequests
Tatsächlich offene Workspace-Zugangsanfragen auflisten.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Liefert ausschließlich requested=true und approved=false. Historische nicht freigegebene Einträge, abgelehnte Anfragen und entzogene Freigaben sind ausgeschlossen. Nicht alle Datensätze mit approved=false sind offene Anfragen.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/requests' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/HudGrant"
}
}Vollständige abhängige Schemas: HudGrant
[
{
"hudId": "33333333-3333-4333-8333-333333333333",
"workspaceId": "11111111-1111-4111-8111-111111111111",
"approved": false,
"selectedReleaseId": null,
"requested": true
}
]PUT /api/v1/integration/organizations/{organization}/huds/{hud}/grants/{workspace}
operationId: setCreatorHudGrant
Eine Anfrage annehmen oder ablehnen, direkten Zugang freigeben oder Zugang entziehen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
approved:true nimmt eine bestehende Anfrage an oder gibt einem bestehenden Workspace direkt Zugang. approved:false lehnt ab oder entzieht den Zugang. Jede Entscheidung setzt requested zurück. Schreibender CreatorKey und aktuelle ausdrückliche Publisher-Berechtigung der gebundenen Organisation erforderlich. Dies installiert kein Paket und ändert keine laufende Ausgabe. Bestehende Abonnements gehören zum HUD und nicht zu einer einzelnen Version.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" | |
workspace | path | ja | {"type":"string","format":"uuid"} | "11111111-1111-4111-8111-111111111111" |
Anfrage
Anfragekörper erforderlich: ja.
application/json
{
"$ref": "#/components/schemas/SetHudGrant"
}Vollständige abhängige Schemas: SetHudGrant
{
"approved": false
}$body = @'
{
"approved": false
}
'@
Invoke-RestMethod -Method Put -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/grants/11111111-1111-4111-8111-111111111111' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -ContentType 'application/json' -Body $bodyAntworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
204 | Workspace-Freigabe gespeichert; die Anfrage ist als bearbeitet markiert. | — |
400 | Ungültiges JSON, Schema, Verknüpfung, Kennung oder Ressourcentyp. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle Publisher-Berechtigung. | — |
404 | Das HUD gehört nicht zur gebundenen Organisation oder der Workspace existiert nicht. | — |
409 | Gleichzeitige Änderung; vor einem erneuten Versuch die aktuellen Freigaben lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
GET /api/v1/integration/organizations/{organization}/huds/{hud}/releases
operationId: listCreatorReleases
Alle Versionen und Prüfzustände eines eigenen HUDs auflisten.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/releases' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CreatorRelease"
}
}Vollständige abhängige Schemas: CreatorRelease
[
{
"id": "44444444-4444-4444-8444-444444444444",
"hudId": "33333333-3333-4333-8333-333333333333",
"version": "1.0.0",
"hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"state": "pending",
"review": null
}
]POST /api/v1/integration/organizations/{organization}/huds/{hud}/releases
operationId: uploadCreatorRelease
Eine neue unveränderliche .souhud-Paketversion für ein bestehendes eigenes HUD hochladen.
Authentifizierung: CreatorKey. Schreibfreigabe des Creator-Schlüssels und aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich.
Originale .souhud-ZIP-Bytes ohne Multipart-Hülle senden. Höchstens 128 MiB komprimiert und insgesamt entpackt, 4096 ZIP-Einträge und 64000 Bytes für hud.json. Der vorhandene Paketprüfer unterstützt Paket-API-Versionen 2 und 3; Laufzeiten blazor-wasm/web/lhm; einen gültigen entryPoint unter wwwroot; Version X.Y.Z mit optionalem kleingeschriebenem Vorabzusatz und eine stabile global eindeutige Paketkennung. Bestehende Versionen einschließlich abgelehnter oder noch geprüfter Versionen sind unveränderlich. Updates benötigen eine neue Version. Uploads von Konten mit Creator-Vertrauen werden nach erfolgreicher Paketprüfung automatisch freigegeben; andere durchlaufen die reguläre Prüfung als pending. Vertrauen ist kontogebunden und widerrufbar; es vergibt keine Publisher-Rechte und ändert keine bestehenden Prüfzustände. Schlüssel können weder Vertrauen vergeben noch Prüfentscheidungen treffen. Uploads ändern weder Abonnements, Freigaben, Listung, installierte HUDs noch laufende Ausgaben. Nach verlorener Antwort zuerst Versionsliste, Version und SHA-256 vergleichen.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" |
Anfrage
Anfragekörper erforderlich: ja.
application/octet-stream
{
"type": "string",
"format": "binary"
}Invoke-RestMethod -Method Post -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/releases' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" } -ContentType 'application/octet-stream' -InFile './example-hud.souhud'Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CreatorRelease"
}Vollständige abhängige Schemas: CreatorRelease
{
"id": "44444444-4444-4444-8444-444444444444",
"hudId": "33333333-3333-4333-8333-333333333333",
"version": "1.0.0",
"hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"state": "pending",
"review": null
}GET /api/v1/integration/organizations/{organization}/huds/{hud}/releases/{release}
operationId: getCreatorRelease
Uploadzustand und Prüfrückmeldung einer eigenen Version lesen.
Authentifizierung: CreatorKey. Aktuelle ausdrückliche Publisher-Berechtigung für die gebundene Organisation erforderlich; lesender Creator-Schlüssel genügt.
Parameter
| Name | Ort | Pflicht | Typ und Grenzen | Bedeutung | Beispiel |
|---|---|---|---|---|---|
organization | path | ja | {"type":"string","format":"uuid"} | "22222222-2222-4222-8222-222222222222" | |
hud | path | ja | {"type":"string","format":"uuid"} | "33333333-3333-4333-8333-333333333333" | |
release | path | ja | {"type":"string","format":"uuid"} | "44444444-4444-4444-8444-444444444444" |
Anfrage
Kein Anfragekörper.
Invoke-RestMethod -Method Get -Uri 'https://www.getsou.app/api/v1/integration/organizations/22222222-2222-4222-8222-222222222222/huds/33333333-3333-4333-8333-333333333333/releases/44444444-4444-4444-8444-444444444444' -Headers @{ Authorization = "Bearer $env:SOU_CREATOR_API_KEY" }Antworten
| HTTP | Bedeutung | Antwortheader |
|---|---|---|
200 | Creator-Ressource der gebundenen Organisation. | — |
400 | Ungültiges JSON, unbekannte Felder, fehlendes englisches Gegenstück oder ungültiger HUD-Inhalt. | — |
401 | Fehlender, ungültiger, abgelaufener oder widerrufener Schlüssel oder gesperrtes Konto; WWW-Authenticate: Bearer. | — |
403 | Falsche Organisation, unzureichende Creator-Schlüsselfreigabe oder fehlende aktuelle ausdrückliche Publisher-Berechtigung. | — |
404 | HUD, Medium oder Version in der gebundenen Organisation nicht gefunden. | — |
409 | Veraltete Detailsrevision, unveränderliche Version, Paketkennung oder gleichzeitiger Datenbankkonflikt; vor einem erneuten Versuch den aktuellen Zustand lesen. | — |
413 | Der Anfragekörper überschreitet die Grenze dieser Operation. | — |
415 | Nicht unterstützter Inhaltstyp. Pakete benötigen application/octet-stream; Verzeichnismedien den passenden geprüften Bild- oder MP4-Typ. | — |
429 | 120 Aufrufe pro Minute je Schlüsselinhaber, gemeinsam über dessen Schlüssel. Erst nach dem Retry-After-Intervall erneut aufrufen. | Retry-After: {"type":"string"} — Sekunden bis zum nächsten Versuch (60). |
500 | Unerwarteter Serverfehler; ein Schreibzugriff kann bereits übernommen sein. Vor einem erneuten Versuch neu lesen und abgleichen. | — |
200 · application/json
{
"$ref": "#/components/schemas/CreatorRelease"
}Vollständige abhängige Schemas: CreatorRelease
{
"id": "44444444-4444-4444-8444-444444444444",
"hudId": "33333333-3333-4333-8333-333333333333",
"version": "1.0.0",
"hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"state": "pending",
"review": null
}Vollständige Datenschemas
Jeder Verweis #/components/schemas/Name führt hier zum vollständigen Originalschema. Die Feldtabelle zeigt die Kernregeln; das JSON bewahrt auch verschachtelte Felder, Varianten und sämtliche Grenzen. Pflicht bedeutet, dass der Schlüssel vorhanden sein muss. nullable erlaubt zusätzlich null und ist davon unabhängig. additionalProperties: false verbietet unbekannte Felder.
- team
- player
- competition
- season
- section
- map
- mapPool
- match
- startupConfig
- panelTemplate
- Sponsor
- Veto
- MapResult
- TeamResource
- WriteTeam
- TeamChange
- PlayerResource
- WritePlayer
- PlayerChange
- CompetitionResource
- WriteCompetition
- CompetitionChange
- SeasonResource
- WriteSeason
- SeasonChange
- SectionResource
- WriteSection
- SectionChange
- MapResource
- WriteMap
- MapChange
- MapPoolResource
- WriteMapPool
- MapPoolChange
- MatchResource
- WriteMatch
- MatchChange
- StartupConfigResource
- WriteStartupConfig
- StartupConfigChange
- PanelTemplateResource
- WritePanelTemplate
- PanelTemplateChange
- WorkspaceChanges
- WorkspaceSnapshot
- CheckMedia
- MediaPresence
- HudTranslationInput
- HudMedia
- HudTranslation
- HudDetails
- SetHudDetails
- CreatorHudCreate
- CreatorHud
- CreatorRelease
- HudGrant
- SetHudGrant
team
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
shortName | nein | string | maxLength: 16 | |
logo | nein | string | null | nullable: true; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$" | |
faceitId | nein | string | null | nullable: true | |
dachcsId | nein | string | null | nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"shortName": {
"type": "string",
"maxLength": 16
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"faceitId": {
"type": "string",
"nullable": true
},
"dachcsId": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"name"
]
}Schemafähiges Beispiel:
{
"id": "team-a",
"name": "Example team"
}player
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
steamId | ja | string | pattern: "^[0-9]{17}$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
teamId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
avatar | nein | string | null | nullable: true; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$" | |
isCoach | nein | boolean | |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"steamId": {
"type": "string",
"pattern": "^[0-9]{17}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"teamId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"avatar": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"isCoach": {
"type": "boolean"
}
},
"required": [
"steamId",
"name"
]
}Schemafähiges Beispiel:
{
"steamId": "76561198000000001",
"name": "Example player"
}competition
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
logo | nein | string | null | nullable: true; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg)$" | |
sponsors | nein | array | |
Vollständige abhängige Schemas: Sponsor
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg)$"
},
"sponsors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sponsor"
}
}
},
"required": [
"id",
"name"
]
}Schemafähiges Beispiel:
{
"id": "competition-2026",
"name": "Example competition"
}season
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
competitionId | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
}
},
"required": [
"id",
"name",
"competitionId"
]
}Schemafähiges Beispiel:
{
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}section
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
competitionId | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
seasonId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
parentId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
kind | nein | integer | format: "int32"; minimum: 1; maximum: 6 | 1 Region, 2 Division, 3 Phase, 4 Gruppe, 5 Runde, 6 Sonstiges. Standard 6. |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"seasonId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"kind": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 6,
"description": "1 Region, 2 Division, 3 Phase, 4 Group, 5 Round, 6 Other. Default 6."
}
},
"required": [
"id",
"name",
"competitionId"
]
}Schemafähiges Beispiel:
{
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}map
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
gameName | ja | string | minLength: 1; maxLength: 128; pattern: "^[a-z0-9_][a-z0-9_/-]*$" | |
logo | nein | string | null | nullable: true; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$" | |
background | nein | string | null | nullable: true; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$" |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"gameName": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[a-z0-9_][a-z0-9_/-]*$"
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"background": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
}
},
"required": [
"id",
"name",
"gameName"
]
}Schemafähiges Beispiel:
{
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}mapPool
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
mapIds | nein | array | uniqueItems: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"mapIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"uniqueItems": true
}
},
"required": [
"id",
"name"
]
}Schemafähiges Beispiel:
{
"id": "pool-main",
"name": "Example mapPool"
}match
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
startsAt | nein | string | null | format: "date-time"; nullable: true | |
competitionId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
seasonId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
competitionSectionId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
competitionRound | nein | string | null | nullable: true; maxLength: 100 | |
faceitId | nein | string | null | nullable: true | |
dachcsId | nein | string | null | nullable: true | |
teamA | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
teamB | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
bestOf | nein | integer | format: "int32"; minimum: 1; enum: [1,3,5,7]; default: 3 | |
mapPoolId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true | |
winsA | nein | integer | format: "int32"; minimum: 0 | |
winsB | nein | integer | format: "int32"; minimum: 0 | |
mapIds | nein | array | uniqueItems: true | |
mapResults | nein | array | null | nullable: true | |
vetos | nein | array | |
Vollständige abhängige Schemas: MapResult · Veto
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"startsAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"seasonId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"competitionSectionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"competitionRound": {
"type": "string",
"nullable": true,
"maxLength": 100
},
"faceitId": {
"type": "string",
"nullable": true
},
"dachcsId": {
"type": "string",
"nullable": true
},
"teamA": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"teamB": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"bestOf": {
"type": "integer",
"format": "int32",
"minimum": 1,
"enum": [
1,
3,
5,
7
],
"default": 3
},
"mapPoolId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"winsA": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"winsB": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"mapIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"uniqueItems": true
},
"mapResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapResult"
},
"nullable": true
},
"vetos": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Veto"
}
}
},
"required": [
"id",
"name",
"teamA",
"teamB"
]
}Schemafähiges Beispiel:
{
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}startupConfig
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
content | ja | string | maxLength: 250000 |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"content": {
"type": "string",
"maxLength": 250000
}
},
"required": [
"id",
"name",
"content"
]
}Schemafähiges Beispiel:
{
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}panelTemplate
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
hudId | ja | string | minLength: 1 | |
version | ja | string | minLength: 1 | |
values | ja | object | additionalProperties: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"hudId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "string",
"minLength": 1
},
"values": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"id",
"hudId",
"version",
"values"
]
}Schemafähiges Beispiel:
{
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}Sponsor
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
image | ja | string | nullable: false; pattern: "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$" |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"image": {
"type": "string",
"nullable": false,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
}
},
"required": [
"id",
"name",
"image"
]
}Schemafähiges Beispiel:
{
"id": "example-id",
"name": "Example HUD",
"image": "/cast-media/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png"
}Veto
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
mapId | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
type | ja | integer | format: "int32"; minimum: 0; maximum: 3 | 0 Unbekannt, 1 Pick, 2 Ban, 3 Entscheidungsmap. |
teamId | nein | string | null | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$"; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"mapId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"type": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 3,
"description": "0 Unknown, 1 Pick, 2 Ban, 3 Decider."
},
"teamId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
}
},
"required": [
"mapId",
"type"
]
}Schemafähiges Beispiel:
{
"mapId": "map-dust2",
"type": 0
}MapResult
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
mapId | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
status | nein | integer | format: "int32"; minimum: 1; maximum: 3; default: 1 | 1 Ausstehend, 2 Laufend, 3 Abgeschlossen. |
scoreA | nein | integer | null | format: "int32"; minimum: 0; nullable: true | |
scoreB | nein | integer | null | format: "int32"; minimum: 0; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"mapId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"status": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 3,
"default": 1,
"description": "1 Pending, 2 Live, 3 Completed."
},
"scoreA": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
},
"scoreB": {
"type": "integer",
"format": "int32",
"minimum": 0,
"nullable": true
}
},
"required": [
"mapId"
]
}Schemafähiges Beispiel:
{
"mapId": "map-dust2"
}TeamResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"shortName": {
"type": "string",
"maxLength": 16
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"faceitId": {
"type": "string",
"nullable": true
},
"dachcsId": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"name"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "team-a",
"revision": 1,
"deleted": false,
"data": {
"id": "team-a",
"name": "Example team"
}
}WriteTeam
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | team | |
Vollständige abhängige Schemas: team
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/team"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}TeamChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | team | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: team
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/team"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "team-a",
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}PlayerResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | pattern: "^[0-9]{17}$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["steamId","name"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9]{17}$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"steamId": {
"type": "string",
"pattern": "^[0-9]{17}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"teamId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"avatar": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"isCoach": {
"type": "boolean"
}
},
"required": [
"steamId",
"name"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "76561198000000001",
"revision": 1,
"deleted": false,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}WritePlayer
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | player | |
Vollständige abhängige Schemas: player
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/player"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}PlayerChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | pattern: "^[0-9]{17}$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | player | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | pattern: "^[0-9]{17}$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: player
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9]{17}$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/player"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9]{17}$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "76561198000000001",
"expectedRevision": 0,
"data": {
"steamId": "76561198000000001",
"name": "Example player"
}
}CompetitionResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name"]; nullable: true |
Vollständige abhängige Schemas: Sponsor
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg)$"
},
"sponsors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sponsor"
}
}
},
"required": [
"id",
"name"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "competition-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}WriteCompetition
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | competition | |
Vollständige abhängige Schemas: competition
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/competition"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}CompetitionChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | competition | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: competition
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/competition"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "competition-2026",
"expectedRevision": 0,
"data": {
"id": "competition-2026",
"name": "Example competition"
}
}SeasonResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name","competitionId"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
}
},
"required": [
"id",
"name",
"competitionId"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "season-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}WriteSeason
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | season | |
Vollständige abhängige Schemas: season
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/season"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}SeasonChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | season | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: season
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/season"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "season-2026",
"expectedRevision": 0,
"data": {
"id": "season-2026",
"name": "Example season",
"competitionId": "competition-2026"
}
}SectionResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name","competitionId"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"seasonId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"kind": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 6,
"description": "1 Region, 2 Division, 3 Phase, 4 Group, 5 Round, 6 Other. Default 6."
}
},
"required": [
"id",
"name",
"competitionId"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "section-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}WriteSection
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | section | |
Vollständige abhängige Schemas: section
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/section"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}SectionChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | section | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: section
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/section"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "section-2026",
"expectedRevision": 0,
"data": {
"id": "section-2026",
"name": "Example section",
"competitionId": "competition-2026"
}
}MapResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name","gameName"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"gameName": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[a-z0-9_][a-z0-9_/-]*$"
},
"logo": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"background": {
"type": "string",
"nullable": true,
"pattern": "^/cast-media/[a-f0-9]{64}\\.(png|jpg|gif)$"
}
},
"required": [
"id",
"name",
"gameName"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "map-dust2",
"revision": 1,
"deleted": false,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}WriteMap
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | map | |
Vollständige abhängige Schemas: map
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/map"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}MapChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | map | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: map
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/map"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "map-dust2",
"expectedRevision": 0,
"data": {
"id": "map-dust2",
"name": "Example map",
"gameName": "de_dust2"
}
}MapPoolResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"mapIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"uniqueItems": true
}
},
"required": [
"id",
"name"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "pool-main",
"revision": 1,
"deleted": false,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}WriteMapPool
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | mapPool | |
Vollständige abhängige Schemas: mapPool
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/mapPool"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}MapPoolChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | mapPool | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: mapPool
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/mapPool"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "pool-main",
"expectedRevision": 0,
"data": {
"id": "pool-main",
"name": "Example mapPool"
}
}MatchResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name","teamA","teamB"]; nullable: true |
Vollständige abhängige Schemas: MapResult · Veto
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"startsAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"competitionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"seasonId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"competitionSectionId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"competitionRound": {
"type": "string",
"nullable": true,
"maxLength": 100
},
"faceitId": {
"type": "string",
"nullable": true
},
"dachcsId": {
"type": "string",
"nullable": true
},
"teamA": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"teamB": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"bestOf": {
"type": "integer",
"format": "int32",
"minimum": 1,
"enum": [
1,
3,
5,
7
],
"default": 3
},
"mapPoolId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$",
"nullable": true
},
"winsA": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"winsB": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"mapIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"uniqueItems": true
},
"mapResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapResult"
},
"nullable": true
},
"vetos": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Veto"
}
}
},
"required": [
"id",
"name",
"teamA",
"teamB"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "match-2026",
"revision": 1,
"deleted": false,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}WriteMatch
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | match | |
Vollständige abhängige Schemas: match
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/match"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}MatchChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | match | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: match
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/match"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "match-2026",
"expectedRevision": 0,
"data": {
"id": "match-2026",
"name": "Example match",
"teamA": "team-a",
"teamB": "team-b"
}
}StartupConfigResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","name","content"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"content": {
"type": "string",
"maxLength": 250000
}
},
"required": [
"id",
"name",
"content"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "config-demo",
"revision": 1,
"deleted": false,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}WriteStartupConfig
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | startupConfig | |
Vollständige abhängige Schemas: startupConfig
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/startupConfig"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}StartupConfigChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | startupConfig | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: startupConfig
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/startupConfig"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "config-demo",
"expectedRevision": 0,
"data": {
"id": "config-demo",
"name": "Example startupConfig",
"content": "echo sOU"
}
}PanelTemplateResource
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
revision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | | |
data | ja | object | null | additionalProperties: false; required: ["id","hudId","version","values"]; nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean"
},
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"hudId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "string",
"minLength": 1
},
"values": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"id",
"hudId",
"version",
"values"
],
"nullable": true
}
},
"required": [
"id",
"revision",
"deleted",
"data"
]
}Schemafähiges Beispiel:
{
"id": "template-main",
"revision": 1,
"deleted": false,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}WritePanelTemplate
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
data | ja | panelTemplate | |
Vollständige abhängige Schemas: panelTemplate
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"data": {
"$ref": "#/components/schemas/panelTemplate"
}
},
"required": [
"expectedRevision",
"data"
]
}Schemafähiges Beispiel:
{
"expectedRevision": 0,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}PanelTemplateChange
Alternative Schemas: 2
Variante 1
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | nein | boolean | enum: [false] | |
data | ja | panelTemplate | |
Variante 2
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | minLength: 1; maxLength: 100; pattern: "^[A-Za-z0-9_-]\u002B$" | |
expectedRevision | ja | integer | format: "int64"; minimum: 0 | |
deleted | ja | boolean | enum: [true] | |
data | nein | object | null | nullable: true; enum: [null] |
Vollständige abhängige Schemas: panelTemplate
Vollständige Originaldefinition:
{
"anyOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"$ref": "#/components/schemas/panelTemplate"
}
},
"required": [
"id",
"expectedRevision",
"data"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]\u002B$"
},
"expectedRevision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"deleted": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"nullable": true,
"enum": [
null
]
}
},
"required": [
"id",
"expectedRevision",
"deleted"
]
}
]
}Schemafähiges Beispiel:
{
"id": "template-main",
"expectedRevision": 0,
"data": {
"id": "template-main",
"hudId": "example-hud",
"version": "1.0.0",
"values": {}
}
}WorkspaceChanges
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
teams | nein | array | maxItems: 5000 | |
players | nein | array | maxItems: 5000 | |
competitions | nein | array | maxItems: 5000 | |
seasons | nein | array | maxItems: 5000 | |
sections | nein | array | maxItems: 5000 | |
maps | nein | array | maxItems: 5000 | |
mapPools | nein | array | maxItems: 5000 | |
matches | nein | array | maxItems: 5000 | |
startupConfigs | nein | array | maxItems: 5000 | |
panelTemplates | nein | array | maxItems: 5000 |
Vollständige abhängige Schemas: CompetitionChange · MapChange · MapPoolChange · MatchChange · PanelTemplateChange · PlayerChange · SeasonChange · SectionChange · StartupConfigChange · TeamChange
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamChange"
},
"maxItems": 5000
},
"players": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PlayerChange"
},
"maxItems": 5000
},
"competitions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompetitionChange"
},
"maxItems": 5000
},
"seasons": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SeasonChange"
},
"maxItems": 5000
},
"sections": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SectionChange"
},
"maxItems": 5000
},
"maps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapChange"
},
"maxItems": 5000
},
"mapPools": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapPoolChange"
},
"maxItems": 5000
},
"matches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchChange"
},
"maxItems": 5000
},
"startupConfigs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StartupConfigChange"
},
"maxItems": 5000
},
"panelTemplates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PanelTemplateChange"
},
"maxItems": 5000
}
},
"minProperties": 1
}Schemafähiges Beispiel:
{
"teams": [
{
"id": "team-a",
"expectedRevision": 0,
"data": {
"id": "team-a",
"name": "Example team"
}
}
]
}WorkspaceSnapshot
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
teams | ja | array | | |
players | ja | array | | |
competitions | ja | array | | |
seasons | ja | array | | |
sections | ja | array | | |
maps | ja | array | | |
mapPools | ja | array | | |
matches | ja | array | | |
startupConfigs | ja | array | | |
panelTemplates | ja | array | |
Vollständige abhängige Schemas: CompetitionResource · MapPoolResource · MapResource · MatchResource · PanelTemplateResource · PlayerResource · SeasonResource · SectionResource · StartupConfigResource · TeamResource
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamResource"
}
},
"players": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PlayerResource"
}
},
"competitions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompetitionResource"
}
},
"seasons": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SeasonResource"
}
},
"sections": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SectionResource"
}
},
"maps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapResource"
}
},
"mapPools": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MapPoolResource"
}
},
"matches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchResource"
}
},
"startupConfigs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StartupConfigResource"
}
},
"panelTemplates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PanelTemplateResource"
}
}
},
"required": [
"teams",
"players",
"competitions",
"seasons",
"sections",
"maps",
"mapPools",
"matches",
"startupConfigs",
"panelTemplates"
]
}Schemafähiges Beispiel:
{
"teams": [],
"players": [],
"competitions": [],
"seasons": [],
"sections": [],
"maps": [],
"mapPools": [],
"matches": [],
"startupConfigs": [],
"panelTemplates": []
}CheckMedia
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
names | ja | array | | Höchstens 5000 unterschiedliche Namen und 400000 Bytes Anfragekörper; Duplikate werden ignoriert. |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-f0-9]{64}\\.(png|jpg|gif)$"
},
"description": "At most 5000 distinct names, 400000 body bytes; duplicates ignored."
}
},
"required": [
"names"
]
}Schemafähiges Beispiel:
{
"names": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png"
]
}MediaPresence
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
missing | ja | array | |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"missing": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"missing"
]
}Schemafähiges Beispiel:
{
"missing": [
"example"
]
}HudTranslationInput
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
language | ja | string | minLength: 1; maxLength: 63 | BCP-47-Sprachkennung, in Kleinbuchstaben normalisiert. Jedes befüllte übersetzte Feld und jede Medienart benötigt ein englisches en-Gegenstück. |
description | nein | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. |
author | nein | string | null | nullable: true; maxLength: 200 | |
authorUrl | nein | string | null | nullable: true; maxLength: 2048 | |
imprintUrl | nein | string | null | nullable: true; maxLength: 2048 | |
privacyUrl | nein | string | null | nullable: true; maxLength: 2048 | |
terms | nein | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. Bei Änderungen erhalten null oder fehlende Werte bestehende Felder vorhandener Sprachzeilen; eine leere Zeichenfolge leert sie. Fehlende Sprachzeilen verlieren alle Textfelder. |
license | nein | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. Bei Änderungen erhalten null oder fehlende Werte bestehende Felder vorhandener Sprachzeilen; eine leere Zeichenfolge leert sie. Fehlende Sprachzeilen verlieren alle Textfelder. |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"language": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"description": "BCP 47 language tag, normalized to lowercase. Each populated translated field or media kind requires an English en counterpart."
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed."
},
"author": {
"type": "string",
"nullable": true,
"maxLength": 200
},
"authorUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"imprintUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"privacyUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"terms": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed. On update, null or an omitted value preserves the existing field in a retained language row; an explicit empty string clears it. Omitting a language row removes all of its text fields."
},
"license": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed. On update, null or an omitted value preserves the existing field in a retained language row; an explicit empty string clears it. Omitting a language row removes all of its text fields."
}
},
"required": [
"language"
]
}Schemafähiges Beispiel:
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}HudMedia
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | format: "uuid" | |
language | ja | string | minLength: 1; maxLength: 63 | BCP-47-Sprachkennung, in Kleinbuchstaben normalisiert. Jedes befüllte übersetzte Feld und jede Medienart benötigt ein englisches en-Gegenstück. |
kind | ja | string | enum: ["preview","gallery","demo"] | |
contentType | ja | string | | |
length | ja | integer | format: "int64"; minimum: 1 | |
width | ja | integer | null | format: "int32"; minimum: 1; nullable: true | |
height | ja | integer | null | format: "int32"; minimum: 1; nullable: true | |
position | ja | integer | format: "int32"; minimum: 0 |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"description": "BCP 47 language tag, normalized to lowercase. Each populated translated field or media kind requires an English en counterpart."
},
"kind": {
"type": "string",
"enum": [
"preview",
"gallery",
"demo"
]
},
"contentType": {
"type": "string"
},
"length": {
"type": "integer",
"format": "int64",
"minimum": 1
},
"width": {
"type": "integer",
"format": "int32",
"minimum": 1,
"nullable": true
},
"height": {
"type": "integer",
"format": "int32",
"minimum": 1,
"nullable": true
},
"position": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"required": [
"id",
"language",
"kind",
"contentType",
"length",
"width",
"height",
"position"
]
}Schemafähiges Beispiel:
{
"id": "55555555-5555-4555-8555-555555555555",
"language": "en",
"kind": "preview",
"contentType": "image/png",
"length": 32768,
"width": 1920,
"height": 900,
"position": 0
}HudTranslation
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
language | ja | string | minLength: 1; maxLength: 63 | BCP-47-Sprachkennung, in Kleinbuchstaben normalisiert. Jedes befüllte übersetzte Feld und jede Medienart benötigt ein englisches en-Gegenstück. |
description | ja | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. |
author | ja | string | null | nullable: true; maxLength: 200 | |
authorUrl | ja | string | null | nullable: true; maxLength: 2048 | |
imprintUrl | ja | string | null | nullable: true; maxLength: 2048 | |
privacyUrl | ja | string | null | nullable: true; maxLength: 2048 | |
terms | nein | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. Bei Änderungen erhalten null oder fehlende Werte bestehende Felder vorhandener Sprachzeilen; eine leere Zeichenfolge leert sie. Fehlende Sprachzeilen verlieren alle Textfelder. |
license | nein | string | null | nullable: true; maxLength: 8000 | Markdown wird einschließlich Einrückung und Zeilenumbrüchen unverändert gespeichert; reine Leerzeichen gelten als leer. Rohes HTML wird nicht als vertrauenswürdig behandelt oder ausgeführt. Bei Änderungen erhalten null oder fehlende Werte bestehende Felder vorhandener Sprachzeilen; eine leere Zeichenfolge leert sie. Fehlende Sprachzeilen verlieren alle Textfelder. |
preview | ja | anyOf | anyOf: [{"$ref":"#/components/schemas/HudMedia"},{"type":"object","nullable":true,"enum":[null]}] | |
gallery | ja | array | | |
demo | ja | anyOf | anyOf: [{"$ref":"#/components/schemas/HudMedia"},{"type":"object","nullable":true,"enum":[null]}] |
Vollständige abhängige Schemas: HudMedia
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"language": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"description": "BCP 47 language tag, normalized to lowercase. Each populated translated field or media kind requires an English en counterpart."
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed."
},
"author": {
"type": "string",
"nullable": true,
"maxLength": 200
},
"authorUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"imprintUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"privacyUrl": {
"type": "string",
"nullable": true,
"maxLength": 2048
},
"terms": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed. On update, null or an omitted value preserves the existing field in a retained language row; an explicit empty string clears it. Omitting a language row removes all of its text fields."
},
"license": {
"type": "string",
"nullable": true,
"maxLength": 8000,
"description": "Markdown source stored verbatim, including indentation and line breaks; whitespace-only values are empty. Raw HTML is not trusted or executed. On update, null or an omitted value preserves the existing field in a retained language row; an explicit empty string clears it. Omitting a language row removes all of its text fields."
},
"preview": {
"anyOf": [
{
"$ref": "#/components/schemas/HudMedia"
},
{
"type": "object",
"nullable": true,
"enum": [
null
]
}
]
},
"gallery": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HudMedia"
}
},
"demo": {
"anyOf": [
{
"$ref": "#/components/schemas/HudMedia"
},
{
"type": "object",
"nullable": true,
"enum": [
null
]
}
]
}
},
"required": [
"language",
"description",
"author",
"authorUrl",
"imprintUrl",
"privacyUrl",
"preview",
"gallery",
"demo"
]
}Schemafähiges Beispiel:
{
"language": "en",
"description": null,
"author": null,
"authorUrl": null,
"imprintUrl": null,
"privacyUrl": null,
"preview": null,
"gallery": [],
"demo": null
}HudDetails
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
revision | ja | integer | format: "int64"; minimum: 0 | |
translations | ja | array | |
Vollständige abhängige Schemas: HudTranslation
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"translations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HudTranslation"
}
}
},
"required": [
"revision",
"translations"
]
}Schemafähiges Beispiel:
{
"revision": 1,
"translations": [
{
"language": "en",
"description": null,
"author": null,
"authorUrl": null,
"imprintUrl": null,
"privacyUrl": null,
"preview": null,
"gallery": [],
"demo": null
}
]
}SetHudDetails
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
revision | ja | integer | format: "int64"; minimum: 0 | |
translations | ja | array | maxItems: 256 |
Vollständige abhängige Schemas: HudTranslationInput
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"revision": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"translations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HudTranslationInput"
},
"maxItems": 256
}
},
"required": [
"revision",
"translations"
]
}Schemafähiges Beispiel:
{
"revision": 0,
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}CreatorHudCreate
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
visibility | ja | string | enum: ["private","open","approval"] | |
translations | nein | array | null | nullable: true; maxItems: 256 |
Vollständige abhängige Schemas: HudTranslationInput
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"visibility": {
"type": "string",
"enum": [
"private",
"open",
"approval"
]
},
"translations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HudTranslationInput"
},
"nullable": true,
"maxItems": 256
}
},
"required": [
"name",
"visibility"
]
}Schemafähiges Beispiel:
{
"name": "Example HUD",
"visibility": "private",
"translations": [
{
"language": "en",
"description": "Example HUD description.",
"author": "Example creator",
"authorUrl": "https://example.com/",
"terms": "Example terms.",
"license": "MIT"
}
]
}CreatorHud
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | format: "uuid" | |
organizationId | ja | string | format: "uuid" | |
packageId | ja | string | null | nullable: true | |
name | ja | string | minLength: 1; maxLength: 100; pattern: "\\S" | |
visibility | ja | string | enum: ["private","open","approval"] | |
listed | ja | boolean | |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organizationId": {
"type": "string",
"format": "uuid"
},
"packageId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S"
},
"visibility": {
"type": "string",
"enum": [
"private",
"open",
"approval"
]
},
"listed": {
"type": "boolean"
}
},
"required": [
"id",
"organizationId",
"packageId",
"name",
"visibility",
"listed"
]
}Schemafähiges Beispiel:
{
"id": "33333333-3333-4333-8333-333333333333",
"organizationId": "22222222-2222-4222-8222-222222222222",
"packageId": null,
"name": "Example HUD",
"visibility": "private",
"listed": false
}CreatorRelease
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
id | ja | string | format: "uuid" | |
hudId | ja | string | format: "uuid" | |
version | ja | string | | |
hash | ja | string | pattern: "^[a-f0-9]{64}$" | |
state | ja | string | enum: ["pending","approved","rejected"] | |
review | ja | string | null | nullable: true |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"hudId": {
"type": "string",
"format": "uuid"
},
"version": {
"type": "string"
},
"hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"state": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
]
},
"review": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"hudId",
"version",
"hash",
"state",
"review"
]
}Schemafähiges Beispiel:
{
"id": "44444444-4444-4444-8444-444444444444",
"hudId": "33333333-3333-4333-8333-333333333333",
"version": "1.0.0",
"hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"state": "pending",
"review": null
}HudGrant
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
hudId | ja | string | format: "uuid" | |
workspaceId | ja | string | format: "uuid" | |
approved | ja | boolean | | |
selectedReleaseId | ja | string | null | format: "uuid"; nullable: true | |
requested | ja | boolean | |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"hudId": {
"type": "string",
"format": "uuid"
},
"workspaceId": {
"type": "string",
"format": "uuid"
},
"approved": {
"type": "boolean"
},
"selectedReleaseId": {
"type": "string",
"format": "uuid",
"nullable": true
},
"requested": {
"type": "boolean"
}
},
"required": [
"hudId",
"workspaceId",
"approved",
"selectedReleaseId",
"requested"
]
}Schemafähiges Beispiel:
{
"hudId": "33333333-3333-4333-8333-333333333333",
"workspaceId": "11111111-1111-4111-8111-111111111111",
"approved": false,
"selectedReleaseId": null,
"requested": false
}SetHudGrant
| Feld | Pflicht | Typ / Verweis | Grenzen und Standard | Bedeutung |
|---|---|---|---|---|
approved | ja | boolean | |
Vollständige Originaldefinition:
{
"type": "object",
"additionalProperties": false,
"properties": {
"approved": {
"type": "boolean"
}
},
"required": [
"approved"
]
}Schemafähiges Beispiel:
{
"approved": false
}