Crewio Developer Platform

Von der Idee zum ersten Live-Event.

Baue Helferimporte, Event-Synchronisationen und sichere Webhooks auf einer API, die jeden Key auf genau einen Verein und klar gewählte Scopes begrenzt.

Base URL: https://api.crewio.co/api/developer/v1/

API-Betrieb: Betriebsbereit
Erster Requestevents:create
curl -X POST 'https://api.crewio.co/api/developer/v1/events' \
  -H 'Authorization: Bearer crw_live_...' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Sommerfest 2026",
    "start_date": "2026-08-20",
    "end_date": "2026-08-21",
    "status": "draft"
  }'
Verein-scoped · HMAC-signiert · OpenAPI beschrieben

Schnellstart

In drei Schritten produktiv

1

Zugriff aktivieren

ProPass oder das Developer API Add-on aktiviert die Core API.

2

Integration und Key anlegen

Wähle nur benötigte Scopes. Der geheime Key wird genau einmal angezeigt.

3

Kleinen Live-Test senden

Lege zuerst ein Draft-Event an und prüfe Antwort sowie Rate-Limit-Header.

Integration einrichten

API verstehen

Ein Key, ein Verein, explizite Rechte

Sende den Key als Bearer-Token. Crewio prüft danach Status, Laufzeit, Tarif und Scope. Ressourcen eines anderen Vereins bleiben selbst mit einer bekannten ID unsichtbar.

Authentifizierung

Authorization: Bearer crw_live_…

Rate Limits

ProPass 180/min · Add-on 600/min

Antworten

JSON-Fehler nennen Problem und nächsten Schritt

Alle Endpoints, Scopes und Schemas

Live-Betrieb

Prüfen, bevor du Anfragen wiederholst

Prüfe den Plattformzustand zusammen mit Rate-Limit-Headern, bevor deine Integration Fehler wiederholt. Die Werte stammen direkt aus dem öffentlichen Crewio-Monitoring.

Vollständiger Status

Core API

Öffentliche und interne API-Endpunkte der Plattform.

ZustandBetriebsbereit
Latenz67 ms

Auth API

Authentifizierung und Session-Token-Handling.

ZustandBetriebsbereit
Latenz42 ms

Rate Limiting

Verteilter Schutz von Login, API und Integrationen vor missbräuchlichen Anfragen.

ZustandBetriebsbereit
Latenz37 ms

Webhooks

Webhook-Auslieferung an integrierte Drittanbieter.

ZustandBetriebsbereit
Latenz95 ms
Betriebsbereit 13.09.2026, 23:15

Webhooks

Änderungen sicher empfangen

Crewio sendet ein JSON-Event an deinen HTTPS-Endpunkt. Prüfe zuerst die HMAC-SHA256-Signatur gegen den unveränderten Roh-Body, antworte innerhalb von 8 Sekunden mit 2xx und verarbeite längere Aufgaben anschließend asynchron.

Delivery-Ablauf

  1. 1Webhook mit Events und HTTPS-Ziel anlegen; Signing-Secret sicher speichern.
  2. 2X-Crewio-Signature auf dem unveränderten Request-Body prüfen.
  3. 3Schnell mit 2xx bestätigen und die Verarbeitung in eine Queue geben.
  4. 4Bei Fehlern Delivery-Logs prüfen. Crewio versucht retrybare Fehler bis zu dreimal.
Gesendete HeaderX-Crewio-Event · X-Crewio-Timestamp (ISO 8601) · X-Crewio-Signature · X-Crewio-Attempt
import crypto from 'node:crypto'

export function verify(rawBody, header, secret) {
  const received = String(header || '').replace(/^sha256=/, '')
  if (!/^[a-f0-9]{64}$/i.test(received)) return false

  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody, 'utf8')
    .digest('hex')

  return crypto.timingSafeEqual(
    Buffer.from(expected, 'hex'),
    Buffer.from(received, 'hex')
  )
}

24 verfügbare Ereignisse

event.created

Neues Event wurde angelegt.

event.updated

Event wurde aktualisiert (Daten, Status).

event.deleted

Event wurde soft-gelöscht.

event.started

Event wechselt in den Status active.

event.ended

Event wurde archiviert/beendet.

role.created

Rolle wurde im Event angelegt.

role.updated

Rolle wurde aktualisiert.

role.deleted

Rolle wurde entfernt.

shift.created

Schicht wurde angelegt.

shift.updated

Schichtdaten wurden aktualisiert.

shift.deleted

Schicht wurde entfernt.

shift.changed

Aggregat-Event für Schicht-Updates inkl. Besetzungslage.

helper.registered

Helfer wurde neu erfasst.

helper.granted

Helfer hat Zugriff auf ein Event erhalten.

helper.revoked

Helfer-Zugriff wurde entzogen.

helper.confirmed

Helfer hat Schicht bestätigt.

helper.cancelled

Helfer hat Schicht abgesagt.

assignment.updated

Schichtbesetzung hat sich geändert.

message.created

Nachricht wurde erstellt/versendet.

message.updated

Nachricht wurde aktualisiert.

message.deleted

Nachricht wurde gelöscht.

availability.request.created

Verfügbarkeits-Umfrage wurde gestartet.

availability.response.upserted

Helfer-Antwort wurde gespeichert.

automation.triggered

Automation-Workflow wurde getriggert.

Fehler beheben

Vom Statuscode zur Lösung

401

Key fehlt, ist ungültig, abgelaufen oder widerrufen.

Key serverseitig prüfen oder rotieren.

403

Tarif, Integration oder Scope erlaubt den Zugriff nicht.

Integration aktivieren und required scope abgleichen.

404

Ressource existiert nicht in diesem Verein.

ID und Verein des verwendeten Keys prüfen.

429

Das Minutenlimit ist erreicht.

Bis X-RateLimit-Reset warten und Requests bündeln.

5xx

Crewio konnte den Request nicht abschließen.

Nur sicher wiederholbare Operationen mit Backoff retryen.