Find free slots across calendar sources
Reads the occurrences in the requested window, collapses them into busy blocks, and returns up to eight open slots of `durationMinutes`. Requires `workspace:read`, and honors the same source filtering and two-year range limit as the range listing. A duration that is not a positive whole number of minutes is rejected as a validation error.
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 POST "https://example.com/v1/workspaces/string/calendar/availability" \ -H "Content-Type: application/json" \ -d '{ "from": "string", "to": "string", "durationMinutes": 0 }'{ "data": { "busy": [ { "startsAt": "string", "endsAt": "string" } ], "suggestions": [ { "startsAt": "string", "endsAt": "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}Delete a saved calendar view
Removes one of the calling user's saved filter presets; a view belonging to another user is never matched. Requires `workspace:read` and reports an unknown view as a validation error. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
List the workspace items the caller can see
Returns every item in the workspace's tree, filtered to the ones the caller has an effective access level on. Requires the `resources:read` permission. Pass `includePreview=true` to have each item carry a composed preview of its contents; the plain summary list is served from a short-lived per-user cache, while the preview variant is always computed fresh.