Delete a calendar event
Marks the event cancelled and soft-deletes it, then queues the deletion on the linked provider calendar, forwarding `recurrenceScope` (the whole series by default) and `occurrenceStart` so the provider drops the right occurrences. The caller needs edit access to the event's item. Returns a not-found error for an unknown event, a conflict when `expectedRevision` is stale, and a validation error for database-backed events, which are removed by clearing their source date field instead. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/workspaces/string/calendar/events/string" \ -H "Content-Type: application/json" \ -d '{ "expectedRevision": 0 }'{ "data": { "id": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Update a calendar event
Applies the patch to the event, or for a database-backed event writes the change through to the source record's fields, and queues a provider push where one is linked. The caller needs edit access to the event's item. Returns a not-found error for an unknown or deleted event and a conflict when `expectedRevision` no longer matches the stored revision. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
List the caller's saved calendar views
Returns the calendar filter presets the calling user saved in this workspace, ordered by name. Requires `workspace:read`. Saved views are per user, so one member never sees another's.