@epilot/sdk 2.18.17 → 2.18.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/definitions/app.json +34 -17
- package/definitions/calendar.json +18 -4
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.d.cts +2 -2
- package/dist/apis/app.d.ts +2 -2
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.d.cts +2 -2
- package/dist/apis/calendar.d.ts +2 -2
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/app-IXCUVIHD.js +7 -0
- package/dist/app-RKHOTF7Z.cjs +7 -0
- package/dist/{app.d-vPrbhe5h.d.cts → app.d-CZDjyxee.d.cts} +22 -15
- package/dist/{app.d-vPrbhe5h.d.ts → app.d-CZDjyxee.d.ts} +22 -15
- package/dist/calendar-2H4RGMV3.js +7 -0
- package/dist/calendar-UADWQX7G.cjs +7 -0
- package/dist/{calendar.d-Cz8R-GJ5.d.cts → calendar.d-mk-ltGpk.d.cts} +10 -5
- package/dist/{calendar.d-Cz8R-GJ5.d.ts → calendar.d-mk-ltGpk.d.ts} +10 -5
- package/dist/{chunk-LPUT63UQ.cjs → chunk-ELTL6P4A.cjs} +2 -2
- package/dist/{chunk-TQCQYO4X.js → chunk-YQ5ZNKOC.js} +2 -2
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/docs/app.md +43 -88
- package/docs/calendar.md +8 -2
- package/package.json +1 -1
- package/dist/app-A7P5LKNL.cjs +0 -7
- package/dist/app-EEEBOCVZ.js +0 -7
- package/dist/calendar-EMNHW6ME.cjs +0 -7
- package/dist/calendar-PZFEAXYE.js +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/calendar.json
|
|
4
|
-
var calendar_default = '# Calendar API\n\n- **Base URL:** `https://calendar.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/calendar](https://docs.epilot.io/api/calendar)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.calendar.listUsersAbsence(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/calendar\'\n\nconst calendarClient = getClient()\nauthorize(calendarClient, () => \'<token>\')\nconst { data } = await calendarClient.listUsersAbsence(...)\n```\n\n## Operations\n\n**Absence**\n- [`listUsersAbsence`](#listusersabsence)\n- [`searchAbsence`](#searchabsence)\n- [`searchNowAbsence`](#searchnowabsence)\n- [`listAbsenceAdjustments`](#listabsenceadjustments)\n- [`createAbsenceAdjustment`](#createabsenceadjustment)\n- [`getAbsenceAdjustment`](#getabsenceadjustment)\n- [`patchAbsenceAdjustment`](#patchabsenceadjustment)\n- [`deleteAbsenceAdjustment`](#deleteabsenceadjustment)\n- [`getUserAbsence`](#getuserabsence)\n\n**Working Hours**\n- [`getWorkingHours`](#getworkinghours)\n- [`putWorkingHours`](#putworkinghours)\n- [`deleteWorkingHours`](#deleteworkinghours)\n\n**Calendars**\n- [`listCalendars`](#listcalendars)\n- [`createCalendar`](#createcalendar)\n- [`addOutlookCalendar`](#addoutlookcalendar)\n- [`listOutlookCalendars`](#listoutlookcalendars)\n- [`deleteOutlookCalendar`](#deleteoutlookcalendar)\n- [`outlookWebhook`](#outlookwebhook)\n- [`getCalendar`](#getcalendar)\n- [`updateCalendar`](#updatecalendar)\n- [`deleteCalendar`](#deletecalendar)\n\n**Calendar Events**\n- [`listEvents`](#listevents)\n- [`createEvent`](#createevent)\n- [`getEvent`](#getevent)\n- [`updateEvent`](#updateevent)\n- [`deleteEvent`](#deleteevent)\n- [`shareEvent`](#shareevent)\n- [`unshareEvent`](#unshareevent)\n\n**Schemas**\n- [`AbsenceInterval`](#absenceinterval)\n- [`AbsenceIntervalSource`](#absenceintervalsource)\n- [`Error`](#error)\n- [`SearchAbsenceBody`](#searchabsencebody)\n- [`SearchNowAbsenceBody`](#searchnowabsencebody)\n- [`AbsenceAdjustment`](#absenceadjustment)\n- [`AbsenceStatus`](#absencestatus)\n- [`AbsenceType`](#absencetype)\n- [`CreateAbsenceAdjustmentBody`](#createabsenceadjustmentbody)\n- [`PatchAbsenceAdjustmentBody`](#patchabsenceadjustmentbody)\n- [`ExternalCalendar`](#externalcalendar)\n- [`WorkingHours`](#workinghours)\n- [`UpsertWorkingHoursBody`](#upsertworkinghoursbody)\n- [`TimeWindow`](#timewindow)\n- [`Calendar`](#calendar)\n- [`CalendarSource`](#calendarsource)\n- [`Provider`](#provider)\n- [`CalendarCreateBody`](#calendarcreatebody)\n- [`AddOutlookCalendarRequest`](#addoutlookcalendarrequest)\n- [`AvailableOutlookCalendar`](#availableoutlookcalendar)\n- [`CalendarPatchBody`](#calendarpatchbody)\n- [`CalendarEvent`](#calendarevent)\n- [`EventType`](#eventtype)\n- [`EventStatus`](#eventstatus)\n- [`Sensitivity`](#sensitivity)\n- [`Importance`](#importance)\n- [`ResponseStatus`](#responsestatus)\n- [`Attendee`](#attendee)\n- [`EventSource`](#eventsource)\n- [`CalendarEventCreateBody`](#calendareventcreatebody)\n- [`CalendarEventPatchBody`](#calendareventpatchbody)\n- [`ShareEventBody`](#shareeventbody)\n\n### `listUsersAbsence`\n\nList organization users with known absence metadata in the requested time window.\n\n`GET /v1/calendar/absence/users`\n\n```ts\nconst { data } = await client.listUsersAbsence({\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n query: \'example\',\n limit: 1,\n offset: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "hits": 0,\n "results": [\n {\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "user_id": "string",\n "display_name": "string",\n "email": "user@example.com",\n "status": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchAbsence`\n\nSearch known absence for candidate users in the requested time window.\n\n`POST /v1/calendar/absence:search`\n\n```ts\nconst { data } = await client.searchAbsence(\n null,\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `searchNowAbsence`\n\nSearch known absence for candidate users at the current server time.\n\n`POST /v1/calendar/absence:search-now`\n\n```ts\nconst { data } = await client.searchNowAbsence(\n null,\n {\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `listAbsenceAdjustments`\n\nList absence adjustments for a user in a time window.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.listAbsenceAdjustments({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createAbsenceAdjustment`\n\nCreate a time-bound absence adjustment for a user in the caller organization.\n\n`POST /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.createAbsenceAdjustment(\n {\n user_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getAbsenceAdjustment`\n\nGet an absence adjustment by ID.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.getAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `patchAbsenceAdjustment`\n\nUpdate an absence adjustment in the caller organization.\n\n`PATCH /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.patchAbsenceAdjustment(\n {\n user_id: \'example\',\n adjustment_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteAbsenceAdjustment`\n\nDelete an absence adjustment.\n\n`DELETE /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.deleteAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n---\n\n### `getUserAbsence`\n\nGet known absence for a user in a time window. absent=false means no known absence, not guaranteed availability.\n\n`GET /v1/calendar/absence/users/{user_id}`\n\n```ts\nconst { data } = await client.getUserAbsence({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "user_id": "string",\n "external_calendars": [\n {\n "provider": "outlook",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getWorkingHours`\n\nGet the recurring weekly working hours of a user. 404 means no record exists and the user is treated as always available.\n\n`GET /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.getWorkingHours({\n user_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `putWorkingHours`\n\nCreate or fully replace the working hours of a user in the caller organization. This is a full replace, not a merge.\n\n`PUT /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.putWorkingHours(\n {\n user_id: \'example\',\n },\n {\n monday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n tuesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n wednesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n thursday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n friday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n saturday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n sunday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n timezone: \'Europe/Berlin\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteWorkingHours`\n\nDelete the working hours of a user. The user is then treated as always available again.\n\n`DELETE /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.deleteWorkingHours({\n user_id: \'example\',\n})\n```\n\n---\n\n### `listCalendars`\n\nList calendars visible to the caller.\n\n`GET /v1/calendar`\n\n```ts\nconst { data } = await client.listCalendars({\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createCalendar`\n\nCreate a native epilot calendar.\n\n`POST /v1/calendar`\n\n```ts\nconst { data } = await client.createCalendar(\n null,\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `addOutlookCalendar`\n\nRegisters one of the caller\'s Outlook calendars as an epilot calendar.\n\n`POST /v1/calendar/sources/outlook`\n\n```ts\nconst { data } = await client.addOutlookCalendar(\n null,\n {\n provider_calendar_id: \'string\',\n name: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listOutlookCalendars`\n\nLists the calling user\'s Outlook calendars available to import as epilot calendars.\n\n`GET /v1/calendar/sources/outlook/available`\n\n```ts\nconst { data } = await client.listOutlookCalendars()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "calendars": [\n {\n "provider_calendar_id": "string",\n "name": "string",\n "color": "string",\n "is_default": true,\n "can_edit": true,\n "owner": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteOutlookCalendar`\n\nDisconnects a previously registered Outlook calendar.\n\n`DELETE /v1/calendar/sources/outlook/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteOutlookCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `outlookWebhook`\n\nPublic Microsoft Graph webhook receiver for per-user Outlook calendar\nsubscriptions. Unauthenticated by design (API Gateway `Authorizer: NONE`):\nGraph calls it with no epilot token.\n\n`POST /v1/calendar/outlook/webhook`\n\n```ts\nconst { data } = await client.outlookWebhook({\n validationToken: \'example\',\n})\n```\n\n---\n\n### `getCalendar`\n\nGet a single calendar by its epilot ID.\n\n`GET /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.getCalendar({\n calendar_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateCalendar`\n\nUpdate local calendar details. Changes to synced calendars do not modify the provider calendar.\n\n`PATCH /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.updateCalendar(\n {\n calendar_id: \'example\',\n },\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteCalendar`\n\nDelete a native epilot calendar or disconnect a synced calendar, including its locally stored events.\n\n`DELETE /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `listEvents`\n\nList events in a time window. Recurring events are returned as expanded occurrences \u2013 each instance appears as its own event.\n\n`GET /v1/calendar/events`\n\n```ts\nconst { data } = await client.listEvents({\n from: \'example\',\n to: \'example\',\n calendar_id: \'example\',\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createEvent`\n\nCreate a native epilot calendar event.\n\n`POST /v1/calendar/events`\n\n```ts\nconst { data } = await client.createEvent(\n null,\n {\n calendar_id: \'string\',\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n sensitivity: \'normal\',\n metadata: {},\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nGet a single event by its epilot ID.\n\n`GET /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.getEvent({\n event_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateEvent`\n\nUpdate a native epilot calendar event.\n\n`PATCH /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.updateEvent(\n {\n event_id: \'example\',\n },\n {\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n is_cancelled: true,\n sensitivity: \'normal\',\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteEvent`\n\nDelete a native epilot calendar event.\n\n`DELETE /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.deleteEvent({\n event_id: \'example\',\n})\n```\n\n---\n\n### `shareEvent`\n\nShare a calendar event with another user of the same organization, view-only. Owner-only: recipients of a share cannot re-share. Sharing an already-shared event is a no-op.\n\n`POST /v1/calendar/events/{event_id}/share`\n\n```ts\nconst { data } = await client.shareEvent(\n {\n event_id: \'example\',\n },\n {\n user_id: \'string\'\n },\n)\n```\n\n---\n\n### `unshareEvent`\n\nRevoke a per-event share. The recipient loses access immediately. Owner-only.\n\n`DELETE /v1/calendar/events/{event_id}/share/{user_id}`\n\n```ts\nconst { data } = await client.unshareEvent({\n event_id: \'example\',\n user_id: \'example\',\n})\n```\n\n---\n\n## Schemas\n\n### `AbsenceInterval`\n\n```ts\ntype AbsenceInterval = {\n from: string // date-time\n to: string // date-time\n original_from: string // date-time\n original_to: string // date-time\n absent: boolean\n source: "calendar_event" | "absence_adjustment" | "working_hours"\n calendar_event_id?: string\n absence_adjustment_id?: string\n reason?: string\n}\n```\n\n### `AbsenceIntervalSource`\n\n```ts\ntype AbsenceIntervalSource = "calendar_event" | "absence_adjustment" | "working_hours"\n```\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string | unknown[]\n}\n```\n\n### `SearchAbsenceBody`\n\n```ts\ntype SearchAbsenceBody = {\n from: string // date-time\n to: string // date-time\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `SearchNowAbsenceBody`\n\n```ts\ntype SearchNowAbsenceBody = {\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `AbsenceAdjustment`\n\n```ts\ntype AbsenceAdjustment = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n adjustment_id: string\n user_id: string\n created_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `AbsenceStatus`\n\nCalendar status targeted by the absence adjustment.\n\n```ts\ntype AbsenceStatus = "oof" | "busy"\n```\n\n### `AbsenceType`\n\nOptional producer-defined reference stored with an absence adjustment.\n\n```ts\ntype AbsenceType = string\n```\n\n### `CreateAbsenceAdjustmentBody`\n\n```ts\ntype CreateAbsenceAdjustmentBody = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `PatchAbsenceAdjustmentBody`\n\n```ts\ntype PatchAbsenceAdjustmentBody = {\n from?: string // date-time\n to?: string // date-time\n absent?: boolean\n status?: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `ExternalCalendar`\n\n```ts\ntype ExternalCalendar = {\n provider: "outlook" | "google"\n last_synced_at: string // date-time\n}\n```\n\n### `WorkingHours`\n\nRecurring weekly working hours of a user. The absence of a record means the user is treated as always available.\n\n```ts\ntype WorkingHours = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone: string\n user_id: string\n updated_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `UpsertWorkingHoursBody`\n\nFull replacement of the working-hours record. All weekdays are required; an empty array means a day off. Users without a working-hours record are treated as always available.\n\n```ts\ntype UpsertWorkingHoursBody = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone?: string\n}\n```\n\n### `TimeWindow`\n\nA wall-clock working window within a single day.\n\n```ts\ntype TimeWindow = {\n start: string\n end: string\n}\n```\n\n### `Calendar`\n\n```ts\ntype Calendar = {\n _id: string\n _schema: "calendar"\n _org: string\n _title?: string\n name: string\n description?: string\n color?: string\n is_default: boolean\n read_only: boolean\n owner_email?: string // email\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `CalendarSource`\n\n```ts\ntype CalendarSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n}\n```\n\n### `Provider`\n\nNull for native epilot calendars\n\n```ts\ntype Provider = "outlook" | "google" | null\n```\n\n### `CalendarCreateBody`\n\n```ts\ntype CalendarCreateBody = {\n name: string\n description?: string\n color?: string\n}\n```\n\n### `AddOutlookCalendarRequest`\n\n```ts\ntype AddOutlookCalendarRequest = {\n provider_calendar_id: string\n name?: string\n}\n```\n\n### `AvailableOutlookCalendar`\n\n```ts\ntype AvailableOutlookCalendar = {\n provider_calendar_id: string\n name: string\n color?: string\n is_default?: boolean\n can_edit?: boolean\n owner?: string\n}\n```\n\n### `CalendarPatchBody`\n\n```ts\ntype CalendarPatchBody = {\n name?: string\n description?: string\n color?: string\n}\n```\n\n### `CalendarEvent`\n\n```ts\ntype CalendarEvent = {\n _id: string\n _schema: "calendar_event"\n _org: string\n _title?: string\n _tags?: string[]\n calendar_id: string\n event_type: "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n busy: boolean\n is_cancelled: boolean\n is_draft: boolean\n sensitivity: "normal" | "personal" | "private" | "confidential"\n importance: "low" | "normal" | "high"\n is_online_meeting: boolean\n online_meeting_url?: string // uri\n web_link?: string // uri\n response_status: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n organizer_email?: string // email\n attendees?: Array<{\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n }>\n metadata?: Record<string, unknown>\n is_recurring: boolean\n series_master_id?: string\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `EventType`\n\n```ts\ntype EventType = "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n```\n\n### `EventStatus`\n\nFree/busy state derived from provider `showAs`\n\n```ts\ntype EventStatus = "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n```\n\n### `Sensitivity`\n\n```ts\ntype Sensitivity = "normal" | "personal" | "private" | "confidential"\n```\n\n### `Importance`\n\n```ts\ntype Importance = "low" | "normal" | "high"\n```\n\n### `ResponseStatus`\n\nCaller\'s response to the invite\n\n```ts\ntype ResponseStatus = "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n```\n\n### `Attendee`\n\n```ts\ntype Attendee = {\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n}\n```\n\n### `EventSource`\n\n```ts\ntype EventSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n}\n```\n\n### `CalendarEventCreateBody`\n\n```ts\ntype CalendarEventCreateBody = {\n calendar_id: string\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n sensitivity: "normal" | "personal" | "private" | "confidential"\n metadata?: Record<string, unknown>\n _title: string\n}\n```\n\n### `CalendarEventPatchBody`\n\n```ts\ntype CalendarEventPatchBody = {\n description?: string\n start_time?: string // date-time\n end_time?: string // date-time\n timezone?: string\n is_all_day?: boolean\n location?: string\n status?: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n is_cancelled?: boolean\n sensitivity?: "normal" | "personal" | "private" | "confidential"\n _title?: string\n}\n```\n\n### `ShareEventBody`\n\n```ts\ntype ShareEventBody = {\n user_id: string\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = calendar_default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/calendar.json
|
|
4
|
-
var calendar_default = '# Calendar API\n\n- **Base URL:** `https://calendar.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/calendar](https://docs.epilot.io/api/calendar)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.calendar.listUsersAbsence(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/calendar\'\n\nconst calendarClient = getClient()\nauthorize(calendarClient, () => \'<token>\')\nconst { data } = await calendarClient.listUsersAbsence(...)\n```\n\n## Operations\n\n**Absence**\n- [`listUsersAbsence`](#listusersabsence)\n- [`searchAbsence`](#searchabsence)\n- [`searchNowAbsence`](#searchnowabsence)\n- [`listAbsenceAdjustments`](#listabsenceadjustments)\n- [`createAbsenceAdjustment`](#createabsenceadjustment)\n- [`getAbsenceAdjustment`](#getabsenceadjustment)\n- [`patchAbsenceAdjustment`](#patchabsenceadjustment)\n- [`deleteAbsenceAdjustment`](#deleteabsenceadjustment)\n- [`getUserAbsence`](#getuserabsence)\n\n**Working Hours**\n- [`getWorkingHours`](#getworkinghours)\n- [`putWorkingHours`](#putworkinghours)\n- [`deleteWorkingHours`](#deleteworkinghours)\n\n**Calendars**\n- [`listCalendars`](#listcalendars)\n- [`createCalendar`](#createcalendar)\n- [`addOutlookCalendar`](#addoutlookcalendar)\n- [`listOutlookCalendars`](#listoutlookcalendars)\n- [`deleteOutlookCalendar`](#deleteoutlookcalendar)\n- [`outlookWebhook`](#outlookwebhook)\n- [`getCalendar`](#getcalendar)\n- [`updateCalendar`](#updatecalendar)\n- [`deleteCalendar`](#deletecalendar)\n\n**Calendar Events**\n- [`listEvents`](#listevents)\n- [`createEvent`](#createevent)\n- [`getEvent`](#getevent)\n- [`updateEvent`](#updateevent)\n- [`deleteEvent`](#deleteevent)\n- [`shareEvent`](#shareevent)\n- [`unshareEvent`](#unshareevent)\n\n**Schemas**\n- [`AbsenceInterval`](#absenceinterval)\n- [`AbsenceIntervalSource`](#absenceintervalsource)\n- [`Error`](#error)\n- [`SearchAbsenceBody`](#searchabsencebody)\n- [`SearchNowAbsenceBody`](#searchnowabsencebody)\n- [`AbsenceAdjustment`](#absenceadjustment)\n- [`AbsenceStatus`](#absencestatus)\n- [`AbsenceType`](#absencetype)\n- [`CreateAbsenceAdjustmentBody`](#createabsenceadjustmentbody)\n- [`PatchAbsenceAdjustmentBody`](#patchabsenceadjustmentbody)\n- [`ExternalCalendar`](#externalcalendar)\n- [`WorkingHours`](#workinghours)\n- [`UpsertWorkingHoursBody`](#upsertworkinghoursbody)\n- [`TimeWindow`](#timewindow)\n- [`Calendar`](#calendar)\n- [`CalendarSource`](#calendarsource)\n- [`Provider`](#provider)\n- [`CalendarCreateBody`](#calendarcreatebody)\n- [`AddOutlookCalendarRequest`](#addoutlookcalendarrequest)\n- [`AvailableOutlookCalendar`](#availableoutlookcalendar)\n- [`CalendarPatchBody`](#calendarpatchbody)\n- [`CalendarEvent`](#calendarevent)\n- [`EventType`](#eventtype)\n- [`EventStatus`](#eventstatus)\n- [`Sensitivity`](#sensitivity)\n- [`Importance`](#importance)\n- [`ResponseStatus`](#responsestatus)\n- [`Attendee`](#attendee)\n- [`EventSource`](#eventsource)\n- [`CalendarEventCreateBody`](#calendareventcreatebody)\n- [`CalendarEventPatchBody`](#calendareventpatchbody)\n- [`ShareEventBody`](#shareeventbody)\n\n### `listUsersAbsence`\n\nList organization users with known absence metadata in the requested time window.\n\n`GET /v1/calendar/absence/users`\n\n```ts\nconst { data } = await client.listUsersAbsence({\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n query: \'example\',\n limit: 1,\n offset: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "hits": 0,\n "results": [\n {\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "user_id": "string",\n "display_name": "string",\n "email": "user@example.com",\n "status": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchAbsence`\n\nSearch known absence for candidate users in the requested time window.\n\n`POST /v1/calendar/absence:search`\n\n```ts\nconst { data } = await client.searchAbsence(\n null,\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `searchNowAbsence`\n\nSearch known absence for candidate users at the current server time.\n\n`POST /v1/calendar/absence:search-now`\n\n```ts\nconst { data } = await client.searchNowAbsence(\n null,\n {\n user_ids: [\'string\'],\n include_busy: false,\n working_hours_granularity: \'time\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "users": {}\n}\n```\n\n</details>\n\n---\n\n### `listAbsenceAdjustments`\n\nList absence adjustments for a user in a time window.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.listAbsenceAdjustments({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createAbsenceAdjustment`\n\nCreate a time-bound absence adjustment for a user in the caller organization.\n\n`POST /v1/calendar/absence/users/{user_id}/adjustments`\n\n```ts\nconst { data } = await client.createAbsenceAdjustment(\n {\n user_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getAbsenceAdjustment`\n\nGet an absence adjustment by ID.\n\n`GET /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.getAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `patchAbsenceAdjustment`\n\nUpdate an absence adjustment in the caller organization.\n\n`PATCH /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.patchAbsenceAdjustment(\n {\n user_id: \'example\',\n adjustment_id: \'example\',\n },\n {\n from: \'1970-01-01T00:00:00.000Z\',\n to: \'1970-01-01T00:00:00.000Z\',\n absent: true,\n status: \'oof\',\n type: \'string\',\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "status": "oof",\n "type": "string",\n "reason": "string",\n "adjustment_id": "string",\n "user_id": "string",\n "created_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteAbsenceAdjustment`\n\nDelete an absence adjustment.\n\n`DELETE /v1/calendar/absence/users/{user_id}/adjustments/{adjustment_id}`\n\n```ts\nconst { data } = await client.deleteAbsenceAdjustment({\n user_id: \'example\',\n adjustment_id: \'example\',\n})\n```\n\n---\n\n### `getUserAbsence`\n\nGet known absence for a user in a time window. absent=false means no known absence, not guaranteed availability.\n\n`GET /v1/calendar/absence/users/{user_id}`\n\n```ts\nconst { data } = await client.getUserAbsence({\n user_id: \'example\',\n from: \'example\',\n to: \'example\',\n include_busy: true,\n working_hours_granularity: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "absent": true,\n "absence_intervals": [\n {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "original_from": "1970-01-01T00:00:00.000Z",\n "original_to": "1970-01-01T00:00:00.000Z",\n "absent": true,\n "source": "calendar_event",\n "calendar_event_id": "string",\n "absence_adjustment_id": "string",\n "reason": "string"\n }\n ],\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "user_id": "string",\n "external_calendars": [\n {\n "provider": "outlook",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getWorkingHours`\n\nGet the recurring weekly working hours of a user. 404 means no record exists and the user is treated as always available.\n\n`GET /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.getWorkingHours({\n user_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `putWorkingHours`\n\nCreate or fully replace the working hours of a user in the caller organization. This is a full replace, not a merge.\n\n`PUT /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.putWorkingHours(\n {\n user_id: \'example\',\n },\n {\n monday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n tuesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n wednesday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n thursday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n friday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n saturday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n sunday: [\n {\n start: \'string\',\n end: \'string\'\n }\n ],\n timezone: \'Europe/Berlin\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "tuesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "wednesday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "thursday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "friday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "saturday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "sunday": [\n {\n "start": "string",\n "end": "string"\n }\n ],\n "timezone": "string",\n "user_id": "string",\n "updated_by": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteWorkingHours`\n\nDelete the working hours of a user. The user is then treated as always available again.\n\n`DELETE /v1/calendar/working-hours/users/{user_id}`\n\n```ts\nconst { data } = await client.deleteWorkingHours({\n user_id: \'example\',\n})\n```\n\n---\n\n### `listCalendars`\n\nList calendars visible to the caller.\n\n`GET /v1/calendar`\n\n```ts\nconst { data } = await client.listCalendars({\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createCalendar`\n\nCreate a native epilot calendar.\n\n`POST /v1/calendar`\n\n```ts\nconst { data } = await client.createCalendar(\n null,\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `addOutlookCalendar`\n\nRegisters one of the caller\'s Outlook calendars as an epilot calendar.\n\n`POST /v1/calendar/sources/outlook`\n\n```ts\nconst { data } = await client.addOutlookCalendar(\n null,\n {\n provider_calendar_id: \'string\',\n name: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listOutlookCalendars`\n\nLists the calling user\'s Outlook calendars available to import as epilot calendars.\n\n`GET /v1/calendar/sources/outlook/available`\n\n```ts\nconst { data } = await client.listOutlookCalendars()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "calendars": [\n {\n "provider_calendar_id": "string",\n "name": "string",\n "color": "string",\n "is_default": true,\n "can_edit": true,\n "owner": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteOutlookCalendar`\n\nDisconnects a previously registered Outlook calendar.\n\n`DELETE /v1/calendar/sources/outlook/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteOutlookCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `outlookWebhook`\n\nPublic Microsoft Graph webhook receiver for per-user Outlook calendar\nsubscriptions. Unauthenticated by design (API Gateway `Authorizer: NONE`):\nGraph calls it with no epilot token.\n\n`POST /v1/calendar/outlook/webhook`\n\n```ts\nconst { data } = await client.outlookWebhook({\n validationToken: \'example\',\n})\n```\n\n---\n\n### `getCalendar`\n\nGet a single calendar by its epilot ID.\n\n`GET /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.getCalendar({\n calendar_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateCalendar`\n\nUpdate local calendar details. Changes to synced calendars do not modify the provider calendar.\n\n`PATCH /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.updateCalendar(\n {\n calendar_id: \'example\',\n },\n {\n name: \'string\',\n description: \'string\',\n color: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar",\n "_org": "string",\n "_title": "string",\n "name": "string",\n "description": "string",\n "color": "string",\n "is_default": true,\n "read_only": true,\n "owner_email": "user@example.com",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_calendar_id": "string",\n "last_synced_at": "1970-01-01T00:00:00.000Z"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteCalendar`\n\nDelete a native epilot calendar or disconnect a synced calendar, including its locally stored events.\n\n`DELETE /v1/calendar/{calendar_id}`\n\n```ts\nconst { data } = await client.deleteCalendar({\n calendar_id: \'example\',\n})\n```\n\n---\n\n### `listEvents`\n\nList events in a time window. Recurring events are returned as expanded occurrences \u2013 each instance appears as its own event.\n\n`GET /v1/calendar/events`\n\n```ts\nconst { data } = await client.listEvents({\n from: \'example\',\n to: \'example\',\n calendar_id: \'example\',\n size: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `createEvent`\n\nCreate a native epilot calendar event.\n\n`POST /v1/calendar/events`\n\n```ts\nconst { data } = await client.createEvent(\n null,\n {\n calendar_id: \'string\',\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n sensitivity: \'normal\',\n metadata: {},\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nGet a single event by its epilot ID.\n\n`GET /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.getEvent({\n event_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateEvent`\n\nUpdate a native epilot calendar event.\n\n`PATCH /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.updateEvent(\n {\n event_id: \'example\',\n },\n {\n description: \'string\',\n start_time: \'1970-01-01T00:00:00.000Z\',\n end_time: \'1970-01-01T00:00:00.000Z\',\n timezone: \'string\',\n is_all_day: true,\n location: \'string\',\n status: \'free\',\n is_cancelled: true,\n sensitivity: \'normal\',\n _title: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "string",\n "_schema": "calendar_event",\n "_org": "string",\n "_title": "string",\n "_tags": ["string"],\n "calendar_id": "string",\n "event_type": "singleInstance",\n "description": "string",\n "start_time": "1970-01-01T00:00:00.000Z",\n "end_time": "1970-01-01T00:00:00.000Z",\n "timezone": "string",\n "is_all_day": true,\n "location": "string",\n "status": "free",\n "busy": true,\n "is_cancelled": true,\n "is_draft": true,\n "sensitivity": "normal",\n "importance": "low",\n "is_online_meeting": true,\n "online_meeting_url": "https://example.com/path",\n "web_link": "https://example.com/path",\n "response_status": "none",\n "organizer_email": "user@example.com",\n "attendees": [\n {\n "email": "user@example.com",\n "name": "string",\n "response": "none",\n "type": "required"\n }\n ],\n "metadata": {},\n "is_recurring": true,\n "series_master_id": "string",\n "source": {\n "type": "native",\n "provider": "outlook",\n "provider_event_id": "string",\n "provider_event_url": "https://example.com/path",\n "last_synced_at": "1970-01-01T00:00:00.000Z",\n "etag": "string"\n },\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteEvent`\n\nDelete a native epilot calendar event.\n\n`DELETE /v1/calendar/events/{event_id}`\n\n```ts\nconst { data } = await client.deleteEvent({\n event_id: \'example\',\n})\n```\n\n---\n\n### `shareEvent`\n\nShare a calendar event with another user of the same organization, view-only. Owner-only: recipients of a share cannot re-share. Sharing an already-shared event is a no-op.\n\n`POST /v1/calendar/events/{event_id}/share`\n\n```ts\nconst { data } = await client.shareEvent(\n {\n event_id: \'example\',\n },\n {\n user_id: \'string\'\n },\n)\n```\n\n---\n\n### `unshareEvent`\n\nRevoke a per-event share. The recipient loses access immediately. Owner-only.\n\n`DELETE /v1/calendar/events/{event_id}/share/{user_id}`\n\n```ts\nconst { data } = await client.unshareEvent({\n event_id: \'example\',\n user_id: \'example\',\n})\n```\n\n---\n\n## Schemas\n\n### `AbsenceInterval`\n\n```ts\ntype AbsenceInterval = {\n from: string // date-time\n to: string // date-time\n original_from: string // date-time\n original_to: string // date-time\n absent: boolean\n source: "calendar_event" | "absence_adjustment" | "working_hours"\n calendar_event_id?: string\n absence_adjustment_id?: string\n reason?: string\n}\n```\n\n### `AbsenceIntervalSource`\n\n```ts\ntype AbsenceIntervalSource = "calendar_event" | "absence_adjustment" | "working_hours"\n```\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string | unknown[]\n}\n```\n\n### `SearchAbsenceBody`\n\n```ts\ntype SearchAbsenceBody = {\n from: string // date-time\n to: string // date-time\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `SearchNowAbsenceBody`\n\n```ts\ntype SearchNowAbsenceBody = {\n user_ids: string[]\n include_busy?: boolean\n working_hours_granularity?: "time" | "day"\n}\n```\n\n### `AbsenceAdjustment`\n\n```ts\ntype AbsenceAdjustment = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n adjustment_id: string\n user_id: string\n created_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `AbsenceStatus`\n\nCalendar status targeted by the absence adjustment.\n\n```ts\ntype AbsenceStatus = "oof" | "busy"\n```\n\n### `AbsenceType`\n\nOptional producer-defined reference stored with an absence adjustment.\n\n```ts\ntype AbsenceType = string\n```\n\n### `CreateAbsenceAdjustmentBody`\n\n```ts\ntype CreateAbsenceAdjustmentBody = {\n from: string // date-time\n to: string // date-time\n absent: boolean\n status: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `PatchAbsenceAdjustmentBody`\n\n```ts\ntype PatchAbsenceAdjustmentBody = {\n from?: string // date-time\n to?: string // date-time\n absent?: boolean\n status?: "oof" | "busy"\n type?: string\n reason?: string\n}\n```\n\n### `ExternalCalendar`\n\n```ts\ntype ExternalCalendar = {\n provider: "outlook" | "google"\n last_synced_at: string // date-time\n}\n```\n\n### `WorkingHours`\n\nRecurring weekly working hours of a user. The absence of a record means the user is treated as always available.\n\n```ts\ntype WorkingHours = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone: string\n user_id: string\n updated_by: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `UpsertWorkingHoursBody`\n\nFull replacement of the working-hours record. All weekdays are required; an empty array means a day off. Users without a working-hours record are treated as always available.\n\n```ts\ntype UpsertWorkingHoursBody = {\n monday: Array<{\n start: string\n end: string\n }>\n tuesday: Array<{\n start: string\n end: string\n }>\n wednesday: Array<{\n start: string\n end: string\n }>\n thursday: Array<{\n start: string\n end: string\n }>\n friday: Array<{\n start: string\n end: string\n }>\n saturday: Array<{\n start: string\n end: string\n }>\n sunday: Array<{\n start: string\n end: string\n }>\n timezone?: string\n}\n```\n\n### `TimeWindow`\n\nA wall-clock working window within a single day.\n\n```ts\ntype TimeWindow = {\n start: string\n end: string\n}\n```\n\n### `Calendar`\n\n```ts\ntype Calendar = {\n _id: string\n _schema: "calendar"\n _org: string\n _title?: string\n name: string\n description?: string\n color?: string\n is_default: boolean\n read_only: boolean\n owner_email?: string // email\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `CalendarSource`\n\n```ts\ntype CalendarSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_calendar_id?: string\n last_synced_at?: string // date-time\n}\n```\n\n### `Provider`\n\nNull for native epilot calendars\n\n```ts\ntype Provider = "outlook" | "google" | null\n```\n\n### `CalendarCreateBody`\n\n```ts\ntype CalendarCreateBody = {\n name: string\n description?: string\n color?: string\n}\n```\n\n### `AddOutlookCalendarRequest`\n\n```ts\ntype AddOutlookCalendarRequest = {\n provider_calendar_id: string\n name?: string\n}\n```\n\n### `AvailableOutlookCalendar`\n\n```ts\ntype AvailableOutlookCalendar = {\n provider_calendar_id: string\n name: string\n color?: string\n is_default?: boolean\n can_edit?: boolean\n owner?: string\n}\n```\n\n### `CalendarPatchBody`\n\n```ts\ntype CalendarPatchBody = {\n name?: string\n description?: string\n color?: string\n}\n```\n\n### `CalendarEvent`\n\n```ts\ntype CalendarEvent = {\n _id: string\n _schema: "calendar_event"\n _org: string\n _title?: string\n _tags?: string[]\n calendar_id: string\n event_type: "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n busy: boolean\n is_cancelled: boolean\n is_draft: boolean\n sensitivity: "normal" | "personal" | "private" | "confidential"\n importance: "low" | "normal" | "high"\n is_online_meeting: boolean\n online_meeting_url?: string // uri\n web_link?: string // uri\n response_status: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n organizer_email?: string // email\n attendees?: Array<{\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n }>\n metadata?: Record<string, unknown>\n is_recurring: boolean\n series_master_id?: string\n source: {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n }\n _created_at?: string // date-time\n _updated_at?: string // date-time\n}\n```\n\n### `EventType`\n\n```ts\ntype EventType = "singleInstance" | "occurrence" | "exception" | "seriesMaster"\n```\n\n### `EventStatus`\n\nFree/busy state derived from provider `showAs`\n\n```ts\ntype EventStatus = "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n```\n\n### `Sensitivity`\n\n```ts\ntype Sensitivity = "normal" | "personal" | "private" | "confidential"\n```\n\n### `Importance`\n\n```ts\ntype Importance = "low" | "normal" | "high"\n```\n\n### `ResponseStatus`\n\nCaller\'s response to the invite\n\n```ts\ntype ResponseStatus = "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n```\n\n### `Attendee`\n\n```ts\ntype Attendee = {\n email: string // email\n name?: string\n response: "none" | "organizer" | "tentativelyAccepted" | "accepted" | "declined" | "notResponded"\n type: "required" | "optional" | "resource"\n}\n```\n\n### `EventSource`\n\n```ts\ntype EventSource = {\n type: "native" | "synced"\n provider?: "outlook" | "google" | null\n provider_event_id?: string\n provider_event_url?: string // uri\n last_synced_at?: string // date-time\n etag?: string\n}\n```\n\n### `CalendarEventCreateBody`\n\n```ts\ntype CalendarEventCreateBody = {\n calendar_id: string\n description?: string\n start_time: string // date-time\n end_time: string // date-time\n timezone: string\n is_all_day: boolean\n location?: string\n status: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n sensitivity: "normal" | "personal" | "private" | "confidential"\n metadata?: Record<string, unknown>\n _title: string\n}\n```\n\n### `CalendarEventPatchBody`\n\n```ts\ntype CalendarEventPatchBody = {\n description?: string\n start_time?: string // date-time\n end_time?: string // date-time\n timezone?: string\n is_all_day?: boolean\n location?: string\n status?: "free" | "tentative" | "busy" | "oof" | "workingElsewhere" | "unknown"\n is_cancelled?: boolean\n sensitivity?: "normal" | "personal" | "private" | "confidential"\n _title?: string\n}\n```\n\n### `ShareEventBody`\n\n```ts\ntype ShareEventBody = {\n user_id: string\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
calendar_default as default
|
|
7
|
-
};
|