Update an event
Updates the given fields with the app's rules: archived event refused, end after start (checked when dates are sent), locked venue refused, venue availability, time zone following a venue change, billed party pushed to the unsigned quotes, calendars synchronised, timeline entries. Omitted fields stay as they are. With status, the status change has the effects of POST /events/{id}/status (notification, reasons cleared, Slack, calendars, webhook); the other fields are written first, so a refused field never leaves a half-applied status. Role permission: data.write; changing status or stage_id also needs events.manage.
Request
- Base URL: https://joinways.app/api/v1
- URL: https://joinways.app/api/v1/events/{id}
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://joinways.app/oauth/authorize, token URL https://joinways.app/api/oauth/token, scopes: mcp.write)
Headers
Optional client-generated key (1 to 255 characters, e.g. a UUID v4) that makes the request idempotent for 24 hours: a retry with the same key replays the recorded response (marked Idempotency-Replayed: true) instead of executing the operation again. Same key with another body: 422 idempotency_key_reuse; while the first request runs: 409 idempotency_conflict. See the Idempotency section.
Request body
Example request
{
"status": "confirmed",
"day_hours": [
{
"date": "2026-11-12",
"start": "09:00",
"end": "18:00"
},
{
"date": "2026-11-13",
"start": "19:00",
"end": "02:00"
}
]
}Response
The updated event.
Example response
{
"status": "confirmed",
"day_hours": [
{
"date": "2026-11-12",
"start": "09:00",
"end": "18:00"
},
{
"date": "2026-11-13",
"start": "19:00",
"end": "02:00"
}
],
"beo_public_url": "https://joinways.app/beo/8f3c2a1e-…"
}Changes
No recorded changes to this operation across all 1 revision of this API.