Venuemaster3000 · API v2.4

Venuemaster API.

REST + Webhooks. JSON-only. Versioniert via Header apps3k-version: 2024-12-01. Stabilitätsgarantie nach Semver: Breaking Changes nur in neuen Versionen, alte Versionen mind. 12 Monate parallel.

Authentifizierung

Alle Requests verlangen einen Bearer-Token im Authorization-Header. Tokens werden im Workspace-Settings unter API Keys erzeugt und können auf bestimmte Scopes (events:read, bookings:write …) eingeschränkt werden.

Base URL https://api.apps3k.ch/venuemaster/v2

Fehler

Wir verwenden konventionelle HTTP-Statuscodes. 2xx = Erfolg, 4xx = Client-Fehler (validate, fix, retry), 5xx = Server-Fehler (idempotent retry mit Backoff).

Status Code Bedeutung
400 invalid_request Body- oder Query-Validierung fehlgeschlagen. Details in errors[].
401 unauthorized Token fehlt oder ist ungültig.
403 forbidden_scope Token hat den benötigten Scope nicht.
404 not_found Ressource existiert nicht oder gehört nicht zu diesem Workspace.
409 conflict Versionskonflikt; Idempotency-Key ggf. erneut prüfen.
429 rate_limited Limit überschritten, Retry-After Header beachten.
503 temporarily_unavailable Backend kurz nicht erreichbar; idempotent retry empfohlen.

Rate-Limits

600 req/min pro Token. Bursts bis 1200/min für 60s. Headers X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset in jeder Antwort.

PATCH /events/{id}

Aktualisiert ein bestehendes Event. Felder, die nicht im Body enthalten sind, bleiben unverändert. Sitzplan-Mutationen müssen über einen separaten Endpoint laufen (Seat plans).

Pfad-Parameter

Parameter Typ Pflicht Beschreibung
id string · uuid Required Event-ID (Pfadparameter).

Body-Parameter

Parameter Typ Pflicht Beschreibung
title string Optional Anzeigename des Events. Max. 200 Zeichen.
starts_at string · ISO 8601 Optional Beginn inkl. Zeitzone, z. B. 2026-09-12T19:30:00+02:00.
ends_at string · ISO 8601 Optional Ende. Muss nach starts_at liegen.
venue_id string · uuid Optional Verknüpfter Venue. Bei Wechsel wird der zugeordnete Sitzplan gelöst.
visibility enum Optional draft, public, private, archived.
capacity_override integer Optional Manuelle Obergrenze. null = automatisch nach Sitzplan.
metadata object Optional Frei wählbare Key/Value-Paare. Max 20 Keys, je 500 Zeichen.

Antworten

Status Beschreibung
200 Event erfolgreich aktualisiert. Body enthält das vollständige aktualisierte Objekt.
400 Validierungsfehler. errors[].path verweist auf das fehlerhafte Feld.
404 Kein Event mit dieser ID im Workspace.
409 Konflikt — Event ist bereits archiviert oder hat aktive Bookings, die das Update blockieren.