Crewio Developer Platform
Entwickle produktive Integrationen für Events, Helfer, Schichten und Kommunikation. Mit Paywall-Gating, scoped API Keys, Retry-fähigen Webhooks und klaren Use Cases.
Extern jeder Request nur mit ProPass oder Developer Add-on.
Ressourcenbasierte Scopes + Key Rotation für sichere Integrationen.
Signierte Webhooks mit Retry-Logik und Delivery-Logs.
Workflows erstellen und Trigger-Events über API auslösen.
Im Dashboard unter Integrationen App anlegen, Scopes setzen, Key erzeugen.
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"
}'Copy/paste-fähiger Start mit `fetch` für externe Apps.
const response = await fetch('https://api.crewio.co/api/developer/v1/events', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CREWIO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Sommerfest 2026',
start_date: '2026-08-20',
end_date: '2026-08-21',
status: 'draft',
}),
})
const payload = await response.json()
if (!response.ok) throw new Error(payload.error || 'Request failed')
console.log(payload.event.id)| Plan | Developer API | Rate Limit | Webhooks |
|---|---|---|---|
| Free | Kein Developer API Zugriff | 0 req/min | Nicht verfügbar |
| ProPass | Developer API aktiviert | 180 req/min | Ja |
| Developer API Add-on | Erweiterter API-Modus | 600 req/min | Ja, inklusive Delivery-Logs |
CRM oder Formular-Daten übernehmen und direkt dem Event zuweisen.
const response = await fetch('https://api.crewio.co/api/developer/v1/helpers', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CREWIO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
mode: 'import',
sync_to_event_id: 'event-uuid',
helpers: [
{ full_name: 'Max Muster', email: 'max@example.org', tags: ['bar'] },
{ full_name: 'Nora Team', phone: '+49177111222', tags: ['kasse'] },
],
}),
})
const payload = await response.json()
if (!response.ok) throw new Error(payload.error || 'Import failed')Eingehende Crewio Events serverseitig verifizieren.
import crypto from 'node:crypto'
function verifyCrewioSignature(rawBody, signatureHeader, secret) {
const provided = String(signatureHeader || '').replace(/^sha256=/i, '').trim()
if (!/^[a-f0-9]{64}$/i.test(provided)) return false
const expected = crypto.createHmac('sha256', secret).update(rawBody, 'utf8').digest('hex')
return crypto.timingSafeEqual(Buffer.from(expected, 'hex'), Buffer.from(provided, 'hex'))
}
export async function POST(req: Request) {
const body = await req.text()
const signature = req.headers.get('x-crewio-signature')
const isValid = verifyCrewioSignature(body, signature, process.env.CREWIO_WEBHOOK_SECRET!)
if (!isValid) return new Response('Invalid signature', { status: 401 })
// process payload...
return new Response('ok')
}Base URL: https://api.crewio.co/api/developer/v1/
| Method | Path | Scope | Feature Gate | Beschreibung |
|---|---|---|---|---|
| GET | /events | events:read | Developer API (Pro) | Events lesen (Filter, Pagination). |
| POST | /events | events:create | Developer API (Pro) | Event erstellen. |
| POST | /events/sync | events:write | Developer API (Pro) | Events synchronisieren (Bulk Create/Update). |
| POST | /helpers | helpers:write | Developer API (Pro) | Helfer importieren/upserten und optional Event-Zugriff synchronisieren. |
| POST | /events/{eventId}/assignments | assignments:write | Developer API (Pro) | Schichtzuweisungen erstellen und Status ändern. |
| POST | /events/{eventId}/messages | messages:write | Developer API (Pro) | Nachrichten/Broadcasts auslösen. |
| POST | /webhooks | webhooks:write | Developer API Add-on | Webhook-Endpunkte konfigurieren (Signing Secret einmalig). |
| GET | /webhooks/deliveries | webhooks:read | Developer API Add-on | Webhook-Delivery-Logs und Retry-Ergebnisse lesen. |
| POST | /automations/workflows | automation:write | Developer API Add-on | Automation-Workflows per API anlegen. |
| POST | /automations/trigger | automation:write | Developer API Add-on | Event-basierte Automation über API triggern. |
Crewio sendet signierte Webhooks mit Retry-Logik (max. 3 Zustellversuche) und Delivery-Logs.
helper.registered
helper.confirmed
helper.cancelled
shift.changed
event.started
event.ended
Bad Request
Payload/Params gegen OpenAPI prüfen.
Unauthorized
API Key prüfen (revoked/expired/invalid).
Forbidden
Paywall/Scope/Verein-Kontext prüfen.
Rate Limited
Backoff + Queue einbauen.
Server Error
Retry mit Idempotenz anwenden.