@gpt-platform/client 0.10.5 → 0.11.0

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.
Files changed (155) hide show
  1. package/dist/_internal/client/client.gen.d.ts +3 -0
  2. package/dist/_internal/client/client.gen.d.ts.map +1 -0
  3. package/dist/_internal/client/index.d.ts +9 -0
  4. package/dist/_internal/client/index.d.ts.map +1 -0
  5. package/dist/_internal/client/types.gen.d.ts +118 -0
  6. package/dist/_internal/client/types.gen.d.ts.map +1 -0
  7. package/dist/_internal/client/utils.gen.d.ts +34 -0
  8. package/dist/_internal/client/utils.gen.d.ts.map +1 -0
  9. package/dist/_internal/client.gen.d.ts +13 -0
  10. package/dist/_internal/client.gen.d.ts.map +1 -0
  11. package/dist/_internal/core/auth.gen.d.ts +19 -0
  12. package/dist/_internal/core/auth.gen.d.ts.map +1 -0
  13. package/dist/_internal/core/bodySerializer.gen.d.ts +26 -0
  14. package/dist/_internal/core/bodySerializer.gen.d.ts.map +1 -0
  15. package/dist/_internal/core/params.gen.d.ts +44 -0
  16. package/dist/_internal/core/params.gen.d.ts.map +1 -0
  17. package/dist/_internal/core/pathSerializer.gen.d.ts +34 -0
  18. package/dist/_internal/core/pathSerializer.gen.d.ts.map +1 -0
  19. package/dist/_internal/core/queryKeySerializer.gen.d.ts +19 -0
  20. package/dist/_internal/core/queryKeySerializer.gen.d.ts.map +1 -0
  21. package/dist/_internal/core/serverSentEvents.gen.d.ts +72 -0
  22. package/dist/_internal/core/serverSentEvents.gen.d.ts.map +1 -0
  23. package/dist/_internal/core/types.gen.d.ts +79 -0
  24. package/dist/_internal/core/types.gen.d.ts.map +1 -0
  25. package/dist/_internal/core/utils.gen.d.ts +20 -0
  26. package/dist/_internal/core/utils.gen.d.ts.map +1 -0
  27. package/dist/_internal/index.d.ts +3 -0
  28. package/dist/_internal/index.d.ts.map +1 -0
  29. package/dist/_internal/sdk.gen.d.ts +7053 -0
  30. package/dist/_internal/sdk.gen.d.ts.map +1 -0
  31. package/dist/_internal/types.gen.d.ts +146633 -0
  32. package/dist/_internal/types.gen.d.ts.map +1 -0
  33. package/dist/base-client.d.ts +199 -0
  34. package/dist/base-client.d.ts.map +1 -0
  35. package/dist/errors/index.d.ts +128 -0
  36. package/dist/errors/index.d.ts.map +1 -0
  37. package/dist/events.d.ts +69 -0
  38. package/dist/events.d.ts.map +1 -0
  39. package/dist/execution-events.d.ts +95 -0
  40. package/dist/execution-events.d.ts.map +1 -0
  41. package/dist/gpt-client.d.ts +2175 -0
  42. package/dist/gpt-client.d.ts.map +1 -0
  43. package/dist/index.d.ts +51 -30734
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +311 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +311 -4
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/json-api.d.ts +26 -0
  50. package/dist/json-api.d.ts.map +1 -0
  51. package/dist/logging.d.ts +22 -0
  52. package/dist/logging.d.ts.map +1 -0
  53. package/dist/namespace-types.d.ts +79 -0
  54. package/dist/namespace-types.d.ts.map +1 -0
  55. package/dist/namespaces/access-grants.d.ts +71 -0
  56. package/dist/namespaces/access-grants.d.ts.map +1 -0
  57. package/dist/namespaces/agents.d.ts +1406 -0
  58. package/dist/namespaces/agents.d.ts.map +1 -0
  59. package/dist/namespaces/ai.d.ts +407 -0
  60. package/dist/namespaces/ai.d.ts.map +1 -0
  61. package/dist/namespaces/audit.d.ts +83 -0
  62. package/dist/namespaces/audit.d.ts.map +1 -0
  63. package/dist/namespaces/billing.d.ts +854 -0
  64. package/dist/namespaces/billing.d.ts.map +1 -0
  65. package/dist/namespaces/campaigns.d.ts +973 -0
  66. package/dist/namespaces/campaigns.d.ts.map +1 -0
  67. package/dist/namespaces/catalog.d.ts +964 -0
  68. package/dist/namespaces/catalog.d.ts.map +1 -0
  69. package/dist/namespaces/channels.d.ts +162 -0
  70. package/dist/namespaces/channels.d.ts.map +1 -0
  71. package/dist/namespaces/clinical.d.ts +2443 -0
  72. package/dist/namespaces/clinical.d.ts.map +1 -0
  73. package/dist/namespaces/communication.d.ts +439 -0
  74. package/dist/namespaces/communication.d.ts.map +1 -0
  75. package/dist/namespaces/compliance.d.ts +2310 -0
  76. package/dist/namespaces/compliance.d.ts.map +1 -0
  77. package/dist/namespaces/connectors.d.ts +1368 -0
  78. package/dist/namespaces/connectors.d.ts.map +1 -0
  79. package/dist/namespaces/content.d.ts +188 -0
  80. package/dist/namespaces/content.d.ts.map +1 -0
  81. package/dist/namespaces/crawler.d.ts +408 -0
  82. package/dist/namespaces/crawler.d.ts.map +1 -0
  83. package/dist/namespaces/crm-clusters.d.ts +31 -0
  84. package/dist/namespaces/crm-clusters.d.ts.map +1 -0
  85. package/dist/namespaces/crm.d.ts +1539 -0
  86. package/dist/namespaces/crm.d.ts.map +1 -0
  87. package/dist/namespaces/documents.d.ts +136 -0
  88. package/dist/namespaces/documents.d.ts.map +1 -0
  89. package/dist/namespaces/email.d.ts +550 -0
  90. package/dist/namespaces/email.d.ts.map +1 -0
  91. package/dist/namespaces/extraction.d.ts +1249 -0
  92. package/dist/namespaces/extraction.d.ts.map +1 -0
  93. package/dist/namespaces/identity.d.ts +411 -0
  94. package/dist/namespaces/identity.d.ts.map +1 -0
  95. package/dist/namespaces/imports.d.ts +177 -0
  96. package/dist/namespaces/imports.d.ts.map +1 -0
  97. package/dist/namespaces/index.d.ts +119 -0
  98. package/dist/namespaces/index.d.ts.map +1 -0
  99. package/dist/namespaces/memory.d.ts +105 -0
  100. package/dist/namespaces/memory.d.ts.map +1 -0
  101. package/dist/namespaces/models.d.ts +75 -0
  102. package/dist/namespaces/models.d.ts.map +1 -0
  103. package/dist/namespaces/permissions.d.ts +75 -0
  104. package/dist/namespaces/permissions.d.ts.map +1 -0
  105. package/dist/namespaces/pipeline-executions.d.ts +130 -0
  106. package/dist/namespaces/pipeline-executions.d.ts.map +1 -0
  107. package/dist/namespaces/pipelines.d.ts +120 -0
  108. package/dist/namespaces/pipelines.d.ts.map +1 -0
  109. package/dist/namespaces/platform.d.ts +1430 -0
  110. package/dist/namespaces/platform.d.ts.map +1 -0
  111. package/dist/namespaces/portal.d.ts +198 -0
  112. package/dist/namespaces/portal.d.ts.map +1 -0
  113. package/dist/namespaces/projects.d.ts +553 -0
  114. package/dist/namespaces/projects.d.ts.map +1 -0
  115. package/dist/namespaces/roles.d.ts +65 -0
  116. package/dist/namespaces/roles.d.ts.map +1 -0
  117. package/dist/namespaces/scheduling.d.ts +944 -0
  118. package/dist/namespaces/scheduling.d.ts.map +1 -0
  119. package/dist/namespaces/search.d.ts +224 -0
  120. package/dist/namespaces/search.d.ts.map +1 -0
  121. package/dist/namespaces/session-notes.d.ts +67 -0
  122. package/dist/namespaces/session-notes.d.ts.map +1 -0
  123. package/dist/namespaces/social.d.ts +330 -0
  124. package/dist/namespaces/social.d.ts.map +1 -0
  125. package/dist/namespaces/storage.d.ts +378 -0
  126. package/dist/namespaces/storage.d.ts.map +1 -0
  127. package/dist/namespaces/support.d.ts +427 -0
  128. package/dist/namespaces/support.d.ts.map +1 -0
  129. package/dist/namespaces/threads.d.ts +596 -0
  130. package/dist/namespaces/threads.d.ts.map +1 -0
  131. package/dist/namespaces/training.d.ts +358 -0
  132. package/dist/namespaces/training.d.ts.map +1 -0
  133. package/dist/namespaces/voice.d.ts +752 -0
  134. package/dist/namespaces/voice.d.ts.map +1 -0
  135. package/dist/namespaces/watcher.d.ts +425 -0
  136. package/dist/namespaces/watcher.d.ts.map +1 -0
  137. package/dist/namespaces/webhooks-ns.d.ts +3 -0
  138. package/dist/namespaces/webhooks-ns.d.ts.map +1 -0
  139. package/dist/pagination.d.ts +57 -0
  140. package/dist/pagination.d.ts.map +1 -0
  141. package/dist/request-builder.d.ts +95 -0
  142. package/dist/request-builder.d.ts.map +1 -0
  143. package/dist/security.d.ts +32 -0
  144. package/dist/security.d.ts.map +1 -0
  145. package/dist/streaming.d.ts +135 -0
  146. package/dist/streaming.d.ts.map +1 -0
  147. package/dist/utils/retry.d.ts +63 -0
  148. package/dist/utils/retry.d.ts.map +1 -0
  149. package/dist/version.d.ts +5 -0
  150. package/dist/version.d.ts.map +1 -0
  151. package/dist/webhook-signature.d.ts +109 -0
  152. package/dist/webhook-signature.d.ts.map +1 -0
  153. package/llms.txt +7 -1
  154. package/package.json +286 -36
  155. package/dist/index.d.mts +0 -30734
@@ -0,0 +1,944 @@
1
+ import type { SchedulingEventType, SchedulingEvent, SchedulingParticipant, SchedulingBooking, SchedulingCalendarSync } from "../_internal/types.gen";
2
+ export type { SessionNoteType, SessionNoteValue } from "./session-notes";
3
+ /** Attributes accepted when creating an event type. */
4
+ export type CreateSchedulingEventTypeAttributes = {
5
+ workspace_id: string;
6
+ name: string;
7
+ duration_minutes?: number;
8
+ capacity?: number;
9
+ [key: string]: unknown;
10
+ };
11
+ /** Attributes accepted when updating an event type (PATCH semantics). */
12
+ export type UpdateSchedulingEventTypeAttributes = {
13
+ name?: string;
14
+ duration_minutes?: number;
15
+ capacity?: number;
16
+ [key: string]: unknown;
17
+ };
18
+ /** Attributes accepted when creating a scheduling event. */
19
+ export type CreateSchedulingEventAttributes = {
20
+ workspace_id: string;
21
+ event_type_id?: string;
22
+ title?: string;
23
+ start_time: string;
24
+ end_time: string;
25
+ participant_ids?: string[];
26
+ [key: string]: unknown;
27
+ };
28
+ /** Attributes accepted when updating a scheduling event (PATCH semantics). */
29
+ export type UpdateSchedulingEventAttributes = {
30
+ title?: string;
31
+ start_time?: string;
32
+ end_time?: string;
33
+ [key: string]: unknown;
34
+ };
35
+ /** Attributes accepted when creating a participant. */
36
+ export type CreateSchedulingParticipantAttributes = {
37
+ event_id: string;
38
+ user_id?: string;
39
+ email?: string;
40
+ name?: string;
41
+ contact_id?: string;
42
+ role?: string;
43
+ [key: string]: unknown;
44
+ };
45
+ /** Attributes accepted when updating a participant (PATCH semantics). */
46
+ export type UpdateSchedulingParticipantAttributes = {
47
+ status?: string;
48
+ role?: string;
49
+ [key: string]: unknown;
50
+ };
51
+ /** Attributes accepted when creating a booking. */
52
+ export type CreateSchedulingBookingAttributes = {
53
+ workspace_id: string;
54
+ event_type_id: string;
55
+ start_time: string;
56
+ [key: string]: unknown;
57
+ };
58
+ /** Attributes accepted when cancelling a booking. */
59
+ export type CancelSchedulingBookingAttributes = {
60
+ reason?: string;
61
+ [key: string]: unknown;
62
+ };
63
+ /** Attributes accepted when rescheduling a booking. */
64
+ export type RescheduleSchedulingBookingAttributes = {
65
+ start_time: string;
66
+ [key: string]: unknown;
67
+ };
68
+ /** Attributes accepted when creating a calendar sync. */
69
+ export type CreateSchedulingCalendarSyncAttributes = {
70
+ workspace_id: string;
71
+ provider: string;
72
+ [key: string]: unknown;
73
+ };
74
+ /** Attributes accepted when updating a calendar sync (PATCH semantics). */
75
+ export type UpdateSchedulingCalendarSyncAttributes = {
76
+ enabled?: boolean;
77
+ [key: string]: unknown;
78
+ };
79
+ import type { RequestOptions } from "../base-client";
80
+ import { RequestBuilder } from "../request-builder";
81
+ /**
82
+ * Scheduling namespace for appointment booking, event management, calendar
83
+ * synchronization, and meeting coordination.
84
+ *
85
+ * Access via `client.scheduling`.
86
+ *
87
+ * The scheduling system is organized into four layers:
88
+ * 1. **Event Types** — reusable templates for bookable appointments (e.g.,
89
+ * "30-Minute Consultation"). Define duration, location, and approval rules.
90
+ * 2. **Events** — internal scheduled occurrences between known workspace members.
91
+ * 3. **Bookings** — external party requests against event types (e.g., a patient
92
+ * booking an appointment via a public link).
93
+ * 4. **Calendar Syncs** — bi-directional sync with external calendars.
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
98
+ *
99
+ * // List available appointment types
100
+ * const eventTypes = await client.scheduling.eventTypes.list();
101
+ *
102
+ * // Book an appointment
103
+ * const booking = await client.scheduling.bookings.create({
104
+ * event_type_id: eventTypes[0].id,
105
+ * start_time: '2026-04-01T10:00:00Z',
106
+ * booker_email: 'patient@example.com',
107
+ * booker_name: 'John Patient',
108
+ * });
109
+ * ```
110
+ */
111
+ export declare function createSchedulingNamespace(rb: RequestBuilder): {
112
+ /**
113
+ * Event Types — reusable templates for bookable appointment slots.
114
+ *
115
+ * An `EventType` defines the configuration for a bookable appointment:
116
+ * name, slug (used in public booking URLs), duration, location type
117
+ * (video, phone, in-person), and whether bookings require approval.
118
+ * Multiple bookings can be created against the same event type.
119
+ */
120
+ eventTypes: {
121
+ /**
122
+ * List event types with optional pagination.
123
+ *
124
+ * Returns one page of event types. Use `listAll` to automatically
125
+ * traverse all pages.
126
+ *
127
+ * @param options - Optional page number, page size, and request options.
128
+ * @returns A page of `SchedulingEventType` records.
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
133
+ * const types = await client.scheduling.eventTypes.list({ pageSize: 20 });
134
+ * types.forEach(t => console.log(t.attributes?.name, t.attributes?.duration_minutes));
135
+ * ```
136
+ */
137
+ list: (options?: {
138
+ page?: number;
139
+ pageSize?: number;
140
+ } & RequestOptions) => Promise<SchedulingEventType[]>;
141
+ /**
142
+ * List all event types, automatically paginating through every page.
143
+ *
144
+ * @param options - Optional request options.
145
+ * @returns All `SchedulingEventType` records as a flat array.
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
150
+ * const allTypes = await client.scheduling.eventTypes.listAll();
151
+ * ```
152
+ */
153
+ listAll: (options?: RequestOptions) => Promise<SchedulingEventType[]>;
154
+ /**
155
+ * Retrieve a single event type by its ID.
156
+ *
157
+ * @param id - The UUID of the event type.
158
+ * @param options - Optional request options.
159
+ * @returns The matching `SchedulingEventType`.
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
164
+ * const eventType = await client.scheduling.eventTypes.get('et_abc123');
165
+ * console.log(eventType.attributes?.slug, eventType.attributes?.location_type);
166
+ * ```
167
+ */
168
+ get: (id: string, options?: RequestOptions) => Promise<SchedulingEventType>;
169
+ /**
170
+ * Create a new event type.
171
+ *
172
+ * Defines a new bookable appointment template. Required attributes:
173
+ * `name` and `duration_minutes`. Optional but recommended: `slug`
174
+ * (used in public booking URLs; auto-generated from name if omitted),
175
+ * `location_type` (`"video"` | `"phone"` | `"in_person"`),
176
+ * `requires_approval` (default `false`), and `description`.
177
+ *
178
+ * @param attributes - Event type attributes. `name` and `duration_minutes`
179
+ * are required.
180
+ * @param options - Optional request options.
181
+ * @returns The newly created `SchedulingEventType`.
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
186
+ * const eventType = await client.scheduling.eventTypes.create({
187
+ * name: '30-Minute Consultation',
188
+ * slug: '30min-consult',
189
+ * duration_minutes: 30,
190
+ * location_type: 'video',
191
+ * requires_approval: false,
192
+ * description: 'A brief video call for initial consultations.',
193
+ * });
194
+ * console.log('Event type created:', eventType.id);
195
+ * ```
196
+ */
197
+ create: (attributes: CreateSchedulingEventTypeAttributes, options?: RequestOptions) => Promise<SchedulingEventType>;
198
+ /**
199
+ * Update an existing event type.
200
+ *
201
+ * Use to change the name, duration, location type, or approval settings
202
+ * of an event type. Changes take effect for new bookings; existing bookings
203
+ * are not retroactively modified.
204
+ *
205
+ * @param id - The UUID of the event type to update.
206
+ * @param attributes - Attribute map of fields to change.
207
+ * @param options - Optional request options.
208
+ * @returns The updated `SchedulingEventType`.
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
213
+ * const eventType = await client.scheduling.eventTypes.update('et_abc123', {
214
+ * duration_minutes: 45,
215
+ * requires_approval: true,
216
+ * });
217
+ * ```
218
+ */
219
+ update: (id: string, attributes: UpdateSchedulingEventTypeAttributes, options?: RequestOptions) => Promise<SchedulingEventType>;
220
+ /**
221
+ * Archive an event type.
222
+ *
223
+ * Marks the event type as archived so it no longer appears in active
224
+ * listings. Existing bookings against this event type are unaffected.
225
+ *
226
+ * @param id - The UUID of the event type to archive.
227
+ * @param options - Optional request options.
228
+ * @returns The archived `SchedulingEventType`.
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
233
+ * const archived = await client.scheduling.eventTypes.archive('et_abc123');
234
+ * console.log(archived.attributes?.status); // 'archived'
235
+ * ```
236
+ */
237
+ archive: (id: string, options?: RequestOptions) => Promise<SchedulingEventType>;
238
+ /**
239
+ * Retrieve an event type by its public slug.
240
+ *
241
+ * Slugs are unique per workspace and used in public booking URLs.
242
+ * This is the primary lookup method for external-facing booking pages.
243
+ *
244
+ * @param slug - The URL-safe slug of the event type.
245
+ * @param workspaceId - The workspace that owns the event type.
246
+ * @param options - Optional request options.
247
+ * @returns The matching `SchedulingEventType`.
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
252
+ * const eventType = await client.scheduling.eventTypes.getBySlug(
253
+ * '30min-consult', 'ws_abc123',
254
+ * );
255
+ * console.log(eventType.attributes?.name);
256
+ * ```
257
+ */
258
+ getBySlug: (slug: string, workspaceId: string, options?: RequestOptions) => Promise<SchedulingEventType>;
259
+ };
260
+ /**
261
+ * Events — scheduled occurrences between workspace members.
262
+ *
263
+ * Events represent internal calendar entries (meetings, calls, appointments)
264
+ * between users who are already members of the workspace. For booking flows
265
+ * where external parties request time, use `bookings` instead.
266
+ */
267
+ events: {
268
+ /**
269
+ * List scheduling events in a workspace with optional pagination.
270
+ *
271
+ * @param workspaceId - The workspace to list events for.
272
+ * @param options - Optional page number, page size, and request options.
273
+ * @returns A page of `SchedulingEvent` records.
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
278
+ * const events = await client.scheduling.events.list(workspaceId, { pageSize: 25 });
279
+ * events.forEach(e => console.log(e.attributes?.title, e.attributes?.start_time));
280
+ * ```
281
+ */
282
+ list: (workspaceId: string, options?: {
283
+ page?: number;
284
+ pageSize?: number;
285
+ } & RequestOptions) => Promise<SchedulingEvent[]>;
286
+ /**
287
+ * List all scheduling events in a workspace, automatically paginating through every page.
288
+ *
289
+ * @param workspaceId - The workspace to list events for.
290
+ * @param options - Optional request options.
291
+ * @returns All `SchedulingEvent` records as a flat array.
292
+ *
293
+ * @example
294
+ * ```typescript
295
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
296
+ * const allEvents = await client.scheduling.events.listAll(workspaceId);
297
+ * ```
298
+ */
299
+ listAll: (workspaceId: string, options?: RequestOptions) => Promise<SchedulingEvent[]>;
300
+ /**
301
+ * Retrieve a single scheduling event by its ID.
302
+ *
303
+ * @param id - The UUID of the scheduling event.
304
+ * @param options - Optional request options.
305
+ * @returns The matching `SchedulingEvent`.
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
310
+ * const event = await client.scheduling.events.get('se_abc123');
311
+ * console.log(event.attributes?.start_time, event.attributes?.end_time);
312
+ * ```
313
+ */
314
+ get: (id: string, options?: RequestOptions) => Promise<SchedulingEvent>;
315
+ /**
316
+ * Create an internal scheduling event directly.
317
+ *
318
+ * Creates a calendar event for meetings between known workspace members.
319
+ * Unlike bookings (which go through an event type and approval flow),
320
+ * events are created directly. Typical attributes: `title`, `start_time`,
321
+ * `end_time`, `location_type`, and an array of `participant_ids`.
322
+ *
323
+ * @param attributes - Event attributes. `title`, `start_time`, and
324
+ * `end_time` are required.
325
+ * @param options - Optional request options.
326
+ * @returns The newly created `SchedulingEvent`.
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
331
+ * const event = await client.scheduling.events.create({
332
+ * title: 'Weekly Team Sync',
333
+ * start_time: '2026-04-07T09:00:00Z',
334
+ * end_time: '2026-04-07T09:30:00Z',
335
+ * location_type: 'video',
336
+ * participant_ids: ['user_abc', 'user_def'],
337
+ * });
338
+ * ```
339
+ */
340
+ create: (attributes: CreateSchedulingEventAttributes, options?: RequestOptions) => Promise<SchedulingEvent>;
341
+ /**
342
+ * Update a scheduling event.
343
+ *
344
+ * Use to change the event title, time, location, or other attributes.
345
+ * Participants receive update notifications if notification settings
346
+ * are enabled.
347
+ *
348
+ * @param id - The UUID of the scheduling event to update.
349
+ * @param attributes - Attribute map of fields to change.
350
+ * @param options - Optional request options.
351
+ * @returns The updated `SchedulingEvent`.
352
+ *
353
+ * @example
354
+ * ```typescript
355
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
356
+ * const event = await client.scheduling.events.update('se_abc123', {
357
+ * start_time: '2026-04-07T10:00:00Z',
358
+ * end_time: '2026-04-07T10:30:00Z',
359
+ * });
360
+ * ```
361
+ */
362
+ update: (id: string, attributes: UpdateSchedulingEventAttributes, options?: RequestOptions) => Promise<SchedulingEvent>;
363
+ /**
364
+ * Cancel an event.
365
+ *
366
+ * @param id - The UUID of the event to cancel.
367
+ * @param attributes - Optional attributes (e.g., `{ cancellation_reason }`).
368
+ * @param options - Optional request options.
369
+ * @returns The updated `SchedulingEvent` with `status: "cancelled"`.
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * const event = await client.scheduling.events.cancel('se_abc123', {
374
+ * cancellation_reason: 'Schedule conflict',
375
+ * });
376
+ * ```
377
+ */
378
+ cancel: (id: string, attributes?: Record<string, unknown>, options?: RequestOptions) => Promise<SchedulingEvent>;
379
+ /**
380
+ * Mark an event as completed.
381
+ *
382
+ * @param id - The UUID of the event to complete.
383
+ * @param options - Optional request options.
384
+ * @returns The updated `SchedulingEvent` with `status: "completed"`.
385
+ *
386
+ * @example
387
+ * ```typescript
388
+ * const event = await client.scheduling.events.complete('se_abc123');
389
+ * ```
390
+ */
391
+ complete: (id: string, options?: RequestOptions) => Promise<SchedulingEvent>;
392
+ /**
393
+ * Reschedule an event to a new time.
394
+ *
395
+ * @param id - The UUID of the event to reschedule.
396
+ * @param attributes - Must include `new_start_time` and `new_end_time`.
397
+ * @param options - Optional request options.
398
+ * @returns The updated `SchedulingEvent` with the new times.
399
+ *
400
+ * @example
401
+ * ```typescript
402
+ * const event = await client.scheduling.events.reschedule('se_abc123', {
403
+ * new_start_time: '2026-04-10T14:00:00Z',
404
+ * new_end_time: '2026-04-10T15:00:00Z',
405
+ * });
406
+ * ```
407
+ */
408
+ reschedule: (id: string, attributes: {
409
+ new_start_time: string;
410
+ new_end_time: string;
411
+ }, options?: RequestOptions) => Promise<SchedulingEvent>;
412
+ /**
413
+ * List events within a date range.
414
+ *
415
+ * @param workspaceId - The workspace UUID.
416
+ * @param startTime - ISO 8601 range start.
417
+ * @param endTime - ISO 8601 range end.
418
+ * @param options - Optional page number, page size, and request options.
419
+ * @returns A page of `SchedulingEvent` records in the range.
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * const events = await client.scheduling.events.listByDateRange(
424
+ * workspaceId, '2026-04-01T00:00:00Z', '2026-04-30T23:59:59Z',
425
+ * );
426
+ * ```
427
+ */
428
+ listByDateRange: (workspaceId: string, startTime: string, endTime: string, options?: {
429
+ page?: number;
430
+ pageSize?: number;
431
+ } & RequestOptions) => Promise<SchedulingEvent[]>;
432
+ /**
433
+ * List events that include a specific participant by email.
434
+ *
435
+ * Use this to retrieve all sessions for a client (e.g., all appointments
436
+ * for a given patient). Filters events in the workspace where a Participant
437
+ * record with the given email exists.
438
+ *
439
+ * @param email - The participant's email address to filter by.
440
+ * @param workspaceId - The workspace to scope the query to.
441
+ * @param options - Optional page number, page size, and request options.
442
+ * @returns A flat array of `SchedulingEvent` records.
443
+ *
444
+ * @example
445
+ * ```typescript
446
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
447
+ * const sessions = await client.scheduling.events.listByParticipant(
448
+ * 'patient@example.com',
449
+ * workspaceId,
450
+ * );
451
+ * sessions.forEach(s => console.log(s.attributes?.start_time, s.attributes?.status));
452
+ * ```
453
+ */
454
+ listByParticipant: (email: string, workspaceId: string, options?: {
455
+ page?: number;
456
+ pageSize?: number;
457
+ } & RequestOptions) => Promise<SchedulingEvent[]>;
458
+ };
459
+ /**
460
+ * Participants — people attending scheduling events.
461
+ *
462
+ * Participants are associated with both internal `events` and external
463
+ * `bookings`. Each participant record tracks the person's identity,
464
+ * their RSVP response, and their role in the event.
465
+ */
466
+ participants: {
467
+ /**
468
+ * List participants with optional pagination.
469
+ *
470
+ * @param options - Optional page number, page size, and request options.
471
+ * @returns A page of `SchedulingParticipant` records.
472
+ *
473
+ * @example
474
+ * ```typescript
475
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
476
+ * const participants = await client.scheduling.participants.list();
477
+ * participants.forEach(p => console.log(p.attributes?.user_id, p.attributes?.status));
478
+ * ```
479
+ */
480
+ list: (options?: {
481
+ page?: number;
482
+ pageSize?: number;
483
+ } & RequestOptions) => Promise<SchedulingParticipant[]>;
484
+ /**
485
+ * List all participants, automatically paginating through every page.
486
+ *
487
+ * @param options - Optional request options.
488
+ * @returns All `SchedulingParticipant` records as a flat array.
489
+ *
490
+ * @example
491
+ * ```typescript
492
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
493
+ * const allParticipants = await client.scheduling.participants.listAll();
494
+ * ```
495
+ */
496
+ listAll: (options?: RequestOptions) => Promise<SchedulingParticipant[]>;
497
+ /**
498
+ * Retrieve a single participant by their ID.
499
+ *
500
+ * @param id - The UUID of the scheduling participant.
501
+ * @param options - Optional request options.
502
+ * @returns The matching `SchedulingParticipant`.
503
+ *
504
+ * @example
505
+ * ```typescript
506
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
507
+ * const participant = await client.scheduling.participants.get('sp_abc123');
508
+ * console.log(participant.attributes?.status, participant.attributes?.role);
509
+ * ```
510
+ */
511
+ get: (id: string, options?: RequestOptions) => Promise<SchedulingParticipant>;
512
+ /**
513
+ * Add a participant to a scheduling event.
514
+ *
515
+ * Creates a participant record linking a user or external contact to
516
+ * an event. Typical attributes: `event_id` (or `booking_id`), `user_id`
517
+ * (or `email` for external participants), and `role`
518
+ * (e.g., `"attendee"`, `"organizer"`).
519
+ *
520
+ * @param attributes - Participant attributes. `event_id` and either
521
+ * `user_id` or `email` are required.
522
+ * @param options - Optional request options.
523
+ * @returns The newly created `SchedulingParticipant`.
524
+ *
525
+ * @example
526
+ * ```typescript
527
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
528
+ * const participant = await client.scheduling.participants.create({
529
+ * event_id: 'se_abc123',
530
+ * user_id: 'user_xyz',
531
+ * role: 'attendee',
532
+ * });
533
+ * ```
534
+ */
535
+ create: (attributes: CreateSchedulingParticipantAttributes, options?: RequestOptions) => Promise<SchedulingParticipant>;
536
+ /**
537
+ * Update a participant record — confirm attendance or respond to an invite.
538
+ *
539
+ * Use to record an RSVP response or update the participant's role.
540
+ * Typical attributes: `status` (`"accepted"` | `"declined"` | `"tentative"`).
541
+ *
542
+ * @param id - The UUID of the scheduling participant to update.
543
+ * @param attributes - Attribute map of fields to change. Typically
544
+ * `{ status: "accepted" }` for an RSVP confirmation.
545
+ * @param options - Optional request options.
546
+ * @returns The updated `SchedulingParticipant`.
547
+ *
548
+ * @example
549
+ * ```typescript
550
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
551
+ * const participant = await client.scheduling.participants.update('sp_abc123', {
552
+ * status: 'accepted',
553
+ * });
554
+ * console.log(participant.attributes?.status); // "accepted"
555
+ * ```
556
+ */
557
+ update: (id: string, attributes: UpdateSchedulingParticipantAttributes, options?: RequestOptions) => Promise<SchedulingParticipant>;
558
+ /**
559
+ * Record a participant's RSVP response.
560
+ *
561
+ * @param id - The UUID of the participant.
562
+ * @param status - The RSVP response: `"accepted"`, `"declined"`, or `"tentative"`.
563
+ * @param options - Optional request options.
564
+ * @returns The updated `SchedulingParticipant`.
565
+ *
566
+ * @example
567
+ * ```typescript
568
+ * const p = await client.scheduling.participants.respond('sp_abc123', 'accepted');
569
+ * ```
570
+ */
571
+ respond: (id: string, status: "accepted" | "declined" | "tentative", options?: RequestOptions) => Promise<SchedulingParticipant>;
572
+ /**
573
+ * Remove a participant from an event.
574
+ *
575
+ * @param id - The UUID of the participant to remove.
576
+ * @param options - Optional request options.
577
+ * @returns `true` on successful removal.
578
+ *
579
+ * @example
580
+ * ```typescript
581
+ * await client.scheduling.participants.remove('sp_abc123');
582
+ * ```
583
+ */
584
+ remove: (id: string, options?: RequestOptions) => Promise<true>;
585
+ };
586
+ /**
587
+ * Bookings — external party appointment requests.
588
+ *
589
+ * Bookings represent requests from people outside the platform (e.g.,
590
+ * patients, clients) who want to schedule time against a published
591
+ * `EventType`. Unlike internal `events`, bookings go through a request
592
+ * → confirm/reject lifecycle.
593
+ *
594
+ * Typical flow:
595
+ * 1. External party submits a booking via a public booking link.
596
+ * 2. `create` is called with the event type and desired time.
597
+ * 3. If the event type has `requires_approval: true`, a workspace member
598
+ * calls `confirm` or `cancel` to respond.
599
+ * 4. `reschedule` can move the booking to a new time.
600
+ */
601
+ bookings: {
602
+ /**
603
+ * List bookings with optional pagination.
604
+ *
605
+ * @param options - Optional page number, page size, and request options.
606
+ * @returns A page of `SchedulingBooking` records.
607
+ *
608
+ * @example
609
+ * ```typescript
610
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
611
+ * const bookings = await client.scheduling.bookings.list();
612
+ * bookings.forEach(b => console.log(b.attributes?.booker_email, b.attributes?.status));
613
+ * ```
614
+ */
615
+ list: (options?: {
616
+ page?: number;
617
+ pageSize?: number;
618
+ } & RequestOptions) => Promise<SchedulingBooking[]>;
619
+ /**
620
+ * List all bookings, automatically paginating through every page.
621
+ *
622
+ * @param options - Optional request options.
623
+ * @returns All `SchedulingBooking` records as a flat array.
624
+ *
625
+ * @example
626
+ * ```typescript
627
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
628
+ * const allBookings = await client.scheduling.bookings.listAll();
629
+ * ```
630
+ */
631
+ listAll: (options?: RequestOptions) => Promise<SchedulingBooking[]>;
632
+ /**
633
+ * Retrieve a single booking by its ID.
634
+ *
635
+ * @param id - The UUID of the booking.
636
+ * @param options - Optional request options.
637
+ * @returns The matching `SchedulingBooking`.
638
+ *
639
+ * @example
640
+ * ```typescript
641
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
642
+ * const booking = await client.scheduling.bookings.get('sb_abc123');
643
+ * console.log(booking.attributes?.start_time, booking.attributes?.status);
644
+ * ```
645
+ */
646
+ get: (id: string, options?: RequestOptions) => Promise<SchedulingBooking>;
647
+ /**
648
+ * Create a new booking request.
649
+ *
650
+ * Submits a request to book time against an event type. Used when an
651
+ * external party (patient, client) wants to schedule an appointment.
652
+ * Required attributes: `event_type_id`, `start_time`, `booker_name`,
653
+ * `booker_email`. Optional: `notes`, `timezone`.
654
+ *
655
+ * If the event type has `requires_approval: true`, the booking is
656
+ * created in `pending` status awaiting confirmation via `confirm`.
657
+ * Otherwise it is immediately `confirmed`.
658
+ *
659
+ * @param attributes - Booking attributes. `event_type_id`, `start_time`,
660
+ * `booker_name`, and `booker_email` are required.
661
+ * @param options - Optional request options.
662
+ * @returns The newly created `SchedulingBooking`.
663
+ *
664
+ * @example
665
+ * ```typescript
666
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
667
+ * const booking = await client.scheduling.bookings.create({
668
+ * event_type_id: 'et_abc123',
669
+ * start_time: '2026-04-15T14:00:00Z',
670
+ * booker_name: 'Jane Patient',
671
+ * booker_email: 'jane@example.com',
672
+ * notes: 'First visit — annual wellness check.',
673
+ * });
674
+ * console.log('Booking created:', booking.id, booking.attributes?.status);
675
+ * ```
676
+ */
677
+ create: (attributes: CreateSchedulingBookingAttributes, options?: RequestOptions) => Promise<SchedulingBooking>;
678
+ /**
679
+ * Confirm a pending booking.
680
+ *
681
+ * Approves a booking that was created against an event type with
682
+ * `requires_approval: true`. Transitions the booking from `pending`
683
+ * to `confirmed` status. The booker typically receives a confirmation
684
+ * notification.
685
+ *
686
+ * @param id - The UUID of the booking to confirm.
687
+ * @param options - Optional request options.
688
+ * @returns The updated `SchedulingBooking` with `status: "confirmed"`.
689
+ *
690
+ * @example
691
+ * ```typescript
692
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
693
+ * const booking = await client.scheduling.bookings.confirm('sb_abc123');
694
+ * console.log(booking.attributes?.status); // "confirmed"
695
+ * ```
696
+ */
697
+ confirm: (id: string, options?: RequestOptions) => Promise<SchedulingBooking>;
698
+ /**
699
+ * Cancel or reject a booking.
700
+ *
701
+ * Cancels a booking in any non-terminal status. Optional `attributes`
702
+ * can include a `reason` or `cancellation_note` to communicate context
703
+ * to the booker. Cancelled bookings are retained for audit purposes.
704
+ *
705
+ * @param id - The UUID of the booking to cancel.
706
+ * @param attributes - Optional cancellation attributes (e.g., `{ reason }`).
707
+ * @param options - Optional request options.
708
+ * @returns The updated `SchedulingBooking` with `status: "cancelled"`.
709
+ *
710
+ * @example
711
+ * ```typescript
712
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
713
+ * const booking = await client.scheduling.bookings.cancel('sb_abc123', {
714
+ * reason: 'Clinician unavailable due to emergency.',
715
+ * });
716
+ * console.log(booking.attributes?.status); // "cancelled"
717
+ * ```
718
+ */
719
+ cancel: (id: string, attributes?: CancelSchedulingBookingAttributes, options?: RequestOptions) => Promise<SchedulingBooking>;
720
+ /**
721
+ * Reschedule a booking to a new time.
722
+ *
723
+ * Moves a confirmed booking to a different start time. Required
724
+ * attributes: `new_start_time`. The booking's `event_type_id` and
725
+ * other details remain unchanged. The booker typically receives a
726
+ * reschedule notification.
727
+ *
728
+ * @param id - The UUID of the booking to reschedule.
729
+ * @param attributes - Reschedule attributes including `new_start_time`.
730
+ * @param options - Optional request options.
731
+ * @returns The updated `SchedulingBooking` with the new time.
732
+ *
733
+ * @example
734
+ * ```typescript
735
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
736
+ * const booking = await client.scheduling.bookings.reschedule('sb_abc123', {
737
+ * new_start_time: '2026-04-22T14:00:00Z',
738
+ * });
739
+ * console.log(booking.attributes?.start_time); // "2026-04-22T14:00:00Z"
740
+ * ```
741
+ */
742
+ reschedule: (id: string, attributes: RescheduleSchedulingBookingAttributes, options?: RequestOptions) => Promise<SchedulingBooking>;
743
+ /**
744
+ * Mark a booking as no-show.
745
+ *
746
+ * Records that the booker did not attend the appointment.
747
+ *
748
+ * @param id - The UUID of the booking.
749
+ * @param options - Optional request options.
750
+ * @returns The updated `SchedulingBooking` with `status: "no_show"`.
751
+ *
752
+ * @example
753
+ * ```typescript
754
+ * const booking = await client.scheduling.bookings.markNoShow('sb_abc123');
755
+ * ```
756
+ */
757
+ markNoShow: (id: string, options?: RequestOptions) => Promise<SchedulingBooking>;
758
+ /**
759
+ * List bookings by booker email address.
760
+ *
761
+ * Returns all bookings associated with the given booker email,
762
+ * regardless of status. Useful for lookup pages where a booker
763
+ * wants to view or manage their appointments.
764
+ *
765
+ * @param email - The booker's email address.
766
+ * @param options - Optional request options.
767
+ * @returns An array of `SchedulingBooking` records for that booker.
768
+ *
769
+ * @example
770
+ * ```typescript
771
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
772
+ * const bookings = await client.scheduling.bookings.listByBooker(
773
+ * 'patient@example.com',
774
+ * );
775
+ * bookings.forEach(b => console.log(b.attributes?.start_time, b.attributes?.status));
776
+ * ```
777
+ */
778
+ listByBooker: (email: string, options?: RequestOptions) => Promise<SchedulingBooking[]>;
779
+ };
780
+ /**
781
+ * Calendar Syncs — bi-directional external calendar integrations.
782
+ *
783
+ * Calendar syncs connect the platform's scheduling system to external
784
+ * calendars (Google Calendar, Microsoft Outlook). When active, events
785
+ * are pushed to the external calendar and external events are pulled
786
+ * in to detect conflicts. Syncs can be paused without deleting the
787
+ * integration configuration.
788
+ */
789
+ calendarSyncs: {
790
+ /**
791
+ * List calendar syncs with optional pagination.
792
+ *
793
+ * @param options - Optional page number, page size, and request options.
794
+ * @returns A page of `SchedulingCalendarSync` records.
795
+ *
796
+ * @example
797
+ * ```typescript
798
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
799
+ * const syncs = await client.scheduling.calendarSyncs.list();
800
+ * syncs.forEach(s => console.log(s.attributes?.provider, s.attributes?.status));
801
+ * ```
802
+ */
803
+ list: (options?: {
804
+ page?: number;
805
+ pageSize?: number;
806
+ } & RequestOptions) => Promise<SchedulingCalendarSync[]>;
807
+ /**
808
+ * List all calendar syncs, automatically paginating through every page.
809
+ *
810
+ * @param options - Optional request options.
811
+ * @returns All `SchedulingCalendarSync` records as a flat array.
812
+ *
813
+ * @example
814
+ * ```typescript
815
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
816
+ * const allSyncs = await client.scheduling.calendarSyncs.listAll();
817
+ * ```
818
+ */
819
+ listAll: (options?: RequestOptions) => Promise<SchedulingCalendarSync[]>;
820
+ /**
821
+ * Retrieve a single calendar sync by its ID.
822
+ *
823
+ * @param id - The UUID of the calendar sync.
824
+ * @param options - Optional request options.
825
+ * @returns The matching `SchedulingCalendarSync`.
826
+ *
827
+ * @example
828
+ * ```typescript
829
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
830
+ * const sync = await client.scheduling.calendarSyncs.get('cs_abc123');
831
+ * console.log(sync.attributes?.provider, sync.attributes?.last_synced_at);
832
+ * ```
833
+ */
834
+ get: (id: string, options?: RequestOptions) => Promise<SchedulingCalendarSync>;
835
+ /**
836
+ * Create a new calendar sync integration.
837
+ *
838
+ * Sets up bi-directional sync between the platform and an external calendar.
839
+ * Requires a pre-authorized connector credential for the calendar provider.
840
+ * Typical attributes: `provider` (`"google_calendar"` | `"outlook"`),
841
+ * `connector_instance_id`, `workspace_id`, and `sync_direction`
842
+ * (`"both"` | `"push"` | `"pull"`).
843
+ *
844
+ * @param attributes - Calendar sync attributes. `provider` and
845
+ * `connector_instance_id` are required.
846
+ * @param options - Optional request options.
847
+ * @returns The newly created `SchedulingCalendarSync`.
848
+ *
849
+ * @example
850
+ * ```typescript
851
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
852
+ * const sync = await client.scheduling.calendarSyncs.create({
853
+ * provider: 'google_calendar',
854
+ * connector_instance_id: 'ci_gcal_abc',
855
+ * workspace_id: 'ws_abc123',
856
+ * sync_direction: 'both',
857
+ * });
858
+ * console.log('Calendar sync created:', sync.id);
859
+ * ```
860
+ */
861
+ create: (attributes: CreateSchedulingCalendarSyncAttributes, options?: RequestOptions) => Promise<SchedulingCalendarSync>;
862
+ /**
863
+ * Update a calendar sync configuration.
864
+ *
865
+ * Use to change sync direction, update the associated credential, or
866
+ * modify other sync settings.
867
+ *
868
+ * @param id - The UUID of the calendar sync to update.
869
+ * @param attributes - Attribute map of fields to change.
870
+ * @param options - Optional request options.
871
+ * @returns The updated `SchedulingCalendarSync`.
872
+ *
873
+ * @example
874
+ * ```typescript
875
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
876
+ * const sync = await client.scheduling.calendarSyncs.update('cs_abc123', {
877
+ * sync_direction: 'push',
878
+ * });
879
+ * ```
880
+ */
881
+ update: (id: string, attributes: UpdateSchedulingCalendarSyncAttributes, options?: RequestOptions) => Promise<SchedulingCalendarSync>;
882
+ /**
883
+ * Delete a calendar sync integration.
884
+ *
885
+ * Removes the calendar sync configuration permanently. The integration
886
+ * stops immediately. Events previously synced to the external calendar
887
+ * are not removed from the external calendar.
888
+ *
889
+ * @param id - The UUID of the calendar sync to delete.
890
+ * @param options - Optional request options.
891
+ * @returns `true` on successful deletion.
892
+ *
893
+ * @example
894
+ * ```typescript
895
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
896
+ * await client.scheduling.calendarSyncs.delete('cs_abc123');
897
+ * ```
898
+ */
899
+ delete: (id: string, options?: RequestOptions) => Promise<true>;
900
+ /**
901
+ * Pause a calendar sync.
902
+ *
903
+ * Temporarily suspends the sync without deleting the integration.
904
+ * While paused, no events are pushed to or pulled from the external
905
+ * calendar. Resume with `resume` when ready to continue syncing.
906
+ *
907
+ * @param id - The UUID of the calendar sync to pause.
908
+ * @param options - Optional request options.
909
+ * @returns The updated `SchedulingCalendarSync` with `status: "paused"`.
910
+ *
911
+ * @example
912
+ * ```typescript
913
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
914
+ * const sync = await client.scheduling.calendarSyncs.pause('cs_abc123');
915
+ * console.log(sync.attributes?.status); // "paused"
916
+ * ```
917
+ */
918
+ pause: (id: string, options?: RequestOptions) => Promise<SchedulingCalendarSync>;
919
+ /**
920
+ * Resume a paused calendar sync.
921
+ *
922
+ * Restarts a calendar sync that was previously paused. The sync catches
923
+ * up on any missed changes since the pause, then resumes normal operation.
924
+ *
925
+ * @param id - The UUID of the calendar sync to resume.
926
+ * @param options - Optional request options.
927
+ * @returns The updated `SchedulingCalendarSync` with `status: "active"`.
928
+ *
929
+ * @example
930
+ * ```typescript
931
+ * const client = new GptClient({ apiKey: 'sk_app_...' });
932
+ * const sync = await client.scheduling.calendarSyncs.resume('cs_abc123');
933
+ * console.log(sync.attributes?.status); // "active"
934
+ * ```
935
+ */
936
+ resume: (id: string, options?: RequestOptions) => Promise<SchedulingCalendarSync>;
937
+ };
938
+ /** Session Notes — clinical notes per appointment (Chartless-specific, backed by DataStore). */
939
+ sessionNotes: {
940
+ get: (eventId: string, noteType: import("./session-notes").SessionNoteType, workspaceId: string, options?: RequestOptions) => Promise<import("../_internal/types.gen").DataStoreRecord | null>;
941
+ upsert: (eventId: string, noteType: import("./session-notes").SessionNoteType, workspaceId: string, value: import("./session-notes").SessionNoteValue, options?: RequestOptions) => Promise<import("../_internal/types.gen").DataStoreRecord>;
942
+ };
943
+ };
944
+ //# sourceMappingURL=scheduling.d.ts.map