@graph8/sdk 0.251.0 → 0.262.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 (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +105 -7
  4. package/dist/index.d.ts +105 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +103 -7
  10. package/dist/react.d.ts +103 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1697 -0
  140. package/docs/api/deals.md +2436 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,2361 @@
1
+ /* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
2
+
3
+ /**
4
+ * Types for `g8.api.appointments` (Appointments): 92 operations.
5
+ *
6
+ * For reading. In code, import from the package instead:
7
+ * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
8
+ * type In = ApiInput<"add_booking_guests_appointments_bookings__booking_uid__guests_post">;
9
+ *
10
+ * Reference with examples: appointments.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.appointments.<member>` -> the operationId it calls. */
15
+ export interface AppointmentsMembers {
16
+ addBookingGuests: "add_booking_guests_appointments_bookings__booking_uid__guests_post";
17
+ addBookingNote: "add_booking_note_appointments_bookings__booking_uid__notes_post";
18
+ addEventTypeHost: "add_event_type_host_appointments_event_types__event_type_id__hosts_post";
19
+ assignAllMembers: "assign_all_members_appointments_event_types__event_type_id__members_all_post";
20
+ assignManagedMember: "assign_managed_member_appointments_event_types__event_type_id__members_post";
21
+ cancelBooking: "cancel_booking_appointments_bookings__booking_uid__cancel_post";
22
+ clearEventTypeDestinationCalendar: "clear_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_delete";
23
+ confirmBooking: "confirm_booking_appointments_bookings__booking_uid__confirm_post";
24
+ connectConferencing: "connect_conferencing_appointments_conferencing_connect__provider__post";
25
+ createBooking: "create_booking_appointments_bookings_post";
26
+ createEventType: "create_event_type_appointments_event_types_post";
27
+ createEventTypeHostGroup: "create_event_type_host_group_appointments_event_types__event_type_id__host_groups_post";
28
+ createOoo: "create_ooo_appointments_out_of_office_post";
29
+ createRoutingForm: "create_routing_form_appointments_routing_forms_post";
30
+ createSavedFilter: "create_saved_filter_appointments_saved_filters_post";
31
+ createSchedule: "create_schedule_appointments_schedules_post";
32
+ createWorkflow: "create_workflow_appointments_workflows_post";
33
+ deleteEventType: "delete_event_type_appointments_event_types__event_type_id__delete";
34
+ deleteEventTypeHostGroup: "delete_event_type_host_group_appointments_event_types__event_type_id__host_groups__group_id__delete";
35
+ deleteOoo: "delete_ooo_appointments_out_of_office__ooo_uuid__delete";
36
+ deleteRoutingForm: "delete_routing_form_appointments_routing_forms__form_id__delete";
37
+ deleteSavedFilter: "delete_saved_filter_appointments_saved_filters__filter_id__delete";
38
+ deleteSchedule: "delete_schedule_appointments_schedules__schedule_id__delete";
39
+ deleteWorkflow: "delete_workflow_appointments_workflows__workflow_id__delete";
40
+ deselectCalendar: "deselect_calendar_appointments_calendars_selected_delete";
41
+ disconnectCalendar: "disconnect_calendar_appointments_calendars__credential_id__delete";
42
+ disconnectConferencing: "disconnect_conferencing_appointments_conferencing__provider__disconnect_delete";
43
+ duplicateEventType: "duplicate_event_type_appointments_event_types__event_type_id__duplicate_post";
44
+ duplicateRoutingForm: "duplicate_routing_form_appointments_routing_forms__form_id__duplicate_post";
45
+ exportBookingInsights: "export_booking_insights_appointments_bookings_insights_export_get";
46
+ exportRoutingFormResponses: "export_routing_form_responses_appointments_routing_forms__form_id__responses_export_get";
47
+ getAvailability: "get_availability_appointments_schedules__schedule_id__availability_get";
48
+ getAvailableSlots: "get_available_slots_appointments_slots_get";
49
+ getBooking: "get_booking_appointments_bookings__booking_uid__get";
50
+ getBookingInsights: "get_booking_insights_appointments_bookings_insights_get";
51
+ getDefaultConferencing: "get_default_conferencing_appointments_conferencing_default_get";
52
+ getDestinationCalendar: "get_destination_calendar_appointments_calendars_destination_get";
53
+ getEmbedConfig: "get_embed_config_appointments_event_types__event_type_id__embed_get";
54
+ getEventType: "get_event_type_appointments_event_types__event_type_id__get";
55
+ getEventTypeDestinationCalendar: "get_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_get";
56
+ getEventTypeSelectedCalendars: "get_event_type_selected_calendars_appointments_event_types__event_type_id__selected_calendars_get";
57
+ getOrgSettings: "get_org_settings_appointments_org_settings_get";
58
+ getRoutingForm: "get_routing_form_appointments_routing_forms__form_id__get";
59
+ getSchedule: "get_schedule_appointments_schedules__schedule_id__get";
60
+ getScheduleProfile: "get_schedule_profile_appointments_profile_get";
61
+ getWorkflow: "get_workflow_appointments_workflows__workflow_id__get";
62
+ importMeeting: "import_meeting_appointments_bookings_import_post";
63
+ listBookings: "list_bookings_appointments_bookings_get";
64
+ listCalendarEvents: "list_calendar_events_appointments_calendars_events_get";
65
+ listCalendars: "list_calendars_appointments_calendars_get";
66
+ listConferencing: "list_conferencing_appointments_conferencing_get";
67
+ listEventTypeHostGroups: "list_event_type_host_groups_appointments_event_types__event_type_id__host_groups_get";
68
+ listMembership: "list_membership_appointments_membership_get";
69
+ listOoo: "list_ooo_appointments_out_of_office_get";
70
+ listRoutingFormResponses: "list_routing_form_responses_appointments_routing_forms__form_id__responses_get";
71
+ listRoutingForms: "list_routing_forms_appointments_routing_forms_get";
72
+ listSavedFilters: "list_saved_filters_appointments_saved_filters_get";
73
+ listSchedules: "list_schedules_appointments_schedules_get";
74
+ listSequencesForPicker: "list_sequences_for_picker_appointments_bookings_sequences_picker_get";
75
+ listTeamAvailability: "list_team_availability_appointments_availability_team_get";
76
+ listWorkflows: "list_workflows_appointments_workflows_get";
77
+ markAbsent: "mark_absent_appointments_bookings__booking_uid__mark_absent_post";
78
+ releaseSlot: "release_slot_appointments_slots_reserve__slot_uid__delete";
79
+ removeEventTypeHost: "remove_event_type_host_appointments_event_types__event_type_id__hosts__host_user_id__delete";
80
+ requestBookingReschedule: "request_booking_reschedule_appointments_bookings__booking_uid__request_reschedule_post";
81
+ rescheduleBooking: "reschedule_booking_appointments_bookings__booking_uid__reschedule_post";
82
+ reserveSlot: "reserve_slot_appointments_slots_reserve_post";
83
+ selectCalendar: "select_calendar_appointments_calendars_selected_post";
84
+ setDefaultConferencing: "set_default_conferencing_appointments_conferencing__provider__default_post";
85
+ setDefaultSchedule: "set_default_schedule_appointments_schedules__schedule_id__set_default_post";
86
+ setDestinationCalendar: "set_destination_calendar_appointments_calendars_destination_put";
87
+ setEventTypeDestinationCalendar: "set_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_put";
88
+ setEventTypeSelectedCalendars: "set_event_type_selected_calendars_appointments_event_types__event_type_id__selected_calendars_put";
89
+ setLockedFields: "set_locked_fields_appointments_event_types__event_type_id__locked_fields_put";
90
+ setProviderLink: "set_provider_link_appointments_conferencing__provider__link_put";
91
+ toggleWorkflow: "toggle_workflow_appointments_workflows__workflow_id__toggle_post";
92
+ unassignManagedMember: "unassign_managed_member_appointments_event_types__event_type_id__members__user_id__delete";
93
+ updateAvailability: "update_availability_appointments_schedules__schedule_id__availability_patch";
94
+ updateBookingLocation: "update_booking_location_appointments_bookings__booking_uid__location_patch";
95
+ updateBookingSequence: "update_booking_sequence_appointments_bookings__booking_uid__sequence_patch";
96
+ updateEmbedConfig: "update_embed_config_appointments_event_types__event_type_id__embed_patch";
97
+ updateEventType: "update_event_type_appointments_event_types__event_type_id__patch";
98
+ updateEventTypeHost: "update_event_type_host_appointments_event_types__event_type_id__hosts__host_user_id__patch";
99
+ updateEventTypeHostGroup: "update_event_type_host_group_appointments_event_types__event_type_id__host_groups__group_id__patch";
100
+ updateMemberRole: "update_member_role_appointments_membership_by_user__user_id__role_patch";
101
+ updateOoo: "update_ooo_appointments_out_of_office__ooo_uuid__patch";
102
+ updateOrgSettings: "update_org_settings_appointments_org_settings_patch";
103
+ updateRoutingForm: "update_routing_form_appointments_routing_forms__form_id__patch";
104
+ updateSavedFilter: "update_saved_filter_appointments_saved_filters__filter_id__put";
105
+ updateSchedule: "update_schedule_appointments_schedules__schedule_id__patch";
106
+ updateScheduleProfile: "update_schedule_profile_appointments_profile_patch";
107
+ updateWorkflow: "update_workflow_appointments_workflows__workflow_id__patch";
108
+ }
109
+
110
+ /** Input and output of every `g8.api.appointments` operation, keyed by operationId. */
111
+ export interface AppointmentsOperations {
112
+ /**
113
+ * POST /appointments/bookings/{booking_uid}/guests
114
+ * Add guest attendees to a booking
115
+ * tier: external · scope: meetings:run
116
+ */
117
+ add_booking_guests_appointments_bookings__booking_uid__guests_post: {
118
+ input: {
119
+ path: {
120
+ /** Booking UID (uuid string). */
121
+ booking_uid: string;
122
+ };
123
+ headers?: {
124
+ "X-Target-Org-Id"?: string | null;
125
+ };
126
+ body: AddGuestsRequest;
127
+ };
128
+ output: Record<string, unknown>;
129
+ };
130
+ /**
131
+ * POST /appointments/bookings/{booking_uid}/notes
132
+ * Add an internal note to a booking
133
+ * tier: external · scope: meetings:run
134
+ */
135
+ add_booking_note_appointments_bookings__booking_uid__notes_post: {
136
+ input: {
137
+ path: {
138
+ /** Booking UID (uuid string). */
139
+ booking_uid: string;
140
+ };
141
+ headers?: {
142
+ "X-Target-Org-Id"?: string | null;
143
+ };
144
+ body: AddNoteRequest;
145
+ };
146
+ output: Record<string, unknown>;
147
+ };
148
+ /**
149
+ * POST /appointments/event-types/{event_type_id}/hosts
150
+ * Add Event Type Host
151
+ * tier: write · scope: meetings:write
152
+ */
153
+ add_event_type_host_appointments_event_types__event_type_id__hosts_post: {
154
+ input: {
155
+ path: {
156
+ /** Event type id. */
157
+ event_type_id: number;
158
+ };
159
+ headers?: {
160
+ "X-Target-Org-Id"?: string | null;
161
+ };
162
+ body: AppointmentHostCreateRequest;
163
+ };
164
+ output: ApiResponse_AppointmentHost_;
165
+ };
166
+ /**
167
+ * POST /appointments/event-types/{event_type_id}/members/all
168
+ * Assign All Members
169
+ * tier: write · scope: meetings:write
170
+ */
171
+ assign_all_members_appointments_event_types__event_type_id__members_all_post: {
172
+ input: {
173
+ path: {
174
+ /** Event type id. */
175
+ event_type_id: number;
176
+ };
177
+ headers?: {
178
+ "X-Target-Org-Id"?: string | null;
179
+ };
180
+ body?: BulkAssignMembersRequest;
181
+ };
182
+ output: ApiResponse_SchedulingPayload_;
183
+ };
184
+ /**
185
+ * POST /appointments/event-types/{event_type_id}/members
186
+ * Assign Managed Member
187
+ * tier: write · scope: meetings:write
188
+ */
189
+ assign_managed_member_appointments_event_types__event_type_id__members_post: {
190
+ input: {
191
+ path: {
192
+ /** Event type id. */
193
+ event_type_id: number;
194
+ };
195
+ headers?: {
196
+ "X-Target-Org-Id"?: string | null;
197
+ };
198
+ body: AssignManagedMemberRequest;
199
+ };
200
+ output: ApiResponse_SchedulingPayload_;
201
+ };
202
+ /**
203
+ * POST /appointments/bookings/{booking_uid}/cancel
204
+ * Cancel a booking and notify both parties
205
+ * tier: destructive · scope: meetings:delete
206
+ */
207
+ cancel_booking_appointments_bookings__booking_uid__cancel_post: {
208
+ input: {
209
+ path: {
210
+ booking_uid: string;
211
+ };
212
+ headers?: {
213
+ "X-Target-Org-Id"?: string | null;
214
+ };
215
+ body?: CancelBookingRequest | null;
216
+ };
217
+ output: Record<string, unknown>;
218
+ };
219
+ /**
220
+ * DELETE /appointments/event-types/{event_type_id}/destination-calendar
221
+ * Clear Event Type Destination Calendar
222
+ * tier: destructive · scope: meetings:delete
223
+ */
224
+ clear_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_delete: {
225
+ input: {
226
+ path: {
227
+ /** Event type id. */
228
+ event_type_id: number;
229
+ };
230
+ headers?: {
231
+ "X-Target-Org-Id"?: string | null;
232
+ };
233
+ };
234
+ output: ApiResponse_SchedulingPayload_;
235
+ };
236
+ /**
237
+ * POST /appointments/bookings/{booking_uid}/confirm
238
+ * Confirm or reject a pending booking
239
+ * tier: external · scope: meetings:run
240
+ */
241
+ confirm_booking_appointments_bookings__booking_uid__confirm_post: {
242
+ input: {
243
+ path: {
244
+ /** Booking UID (uuid string). */
245
+ booking_uid: string;
246
+ };
247
+ headers?: {
248
+ "X-Target-Org-Id"?: string | null;
249
+ };
250
+ body: ConfirmBookingRequest;
251
+ };
252
+ output: Record<string, unknown>;
253
+ };
254
+ /**
255
+ * POST /appointments/conferencing/connect/{provider}
256
+ * Connect a conferencing provider (link-based / no-OAuth only)
257
+ * tier: external · scope: meetings:run
258
+ */
259
+ connect_conferencing_appointments_conferencing_connect__provider__post: {
260
+ input: {
261
+ path: {
262
+ /** Provider: google_meet | roam | roam_auto | whereby | jitsi */
263
+ provider: string;
264
+ };
265
+ headers?: {
266
+ "X-Target-Org-Id"?: string | null;
267
+ };
268
+ body?: Body_connect_conferencing_appointments_conferencing_connect__provider__post;
269
+ };
270
+ output: Record<string, unknown>;
271
+ };
272
+ /**
273
+ * POST /appointments/bookings
274
+ * Create a booking (charges credits + sends notifications)
275
+ * tier: external · scope: meetings:run
276
+ */
277
+ create_booking_appointments_bookings_post: {
278
+ input: {
279
+ headers?: {
280
+ "X-Target-Org-Id"?: string | null;
281
+ };
282
+ body: CreateBookingRequest;
283
+ };
284
+ output: Record<string, unknown>;
285
+ };
286
+ /**
287
+ * POST /appointments/event-types
288
+ * Create a bookable event type
289
+ * tier: write · scope: meetings:write
290
+ */
291
+ create_event_type_appointments_event_types_post: {
292
+ input: {
293
+ headers?: {
294
+ "X-Target-Org-Id"?: string | null;
295
+ };
296
+ body: CreateEventTypeRequest;
297
+ };
298
+ output: Record<string, unknown>;
299
+ };
300
+ /**
301
+ * POST /appointments/event-types/{event_type_id}/host-groups
302
+ * Create Event Type Host Group
303
+ * tier: write · scope: meetings:write
304
+ */
305
+ create_event_type_host_group_appointments_event_types__event_type_id__host_groups_post: {
306
+ input: {
307
+ path: {
308
+ /** Event type id. */
309
+ event_type_id: number;
310
+ };
311
+ headers?: {
312
+ "X-Target-Org-Id"?: string | null;
313
+ };
314
+ body: AppointmentHostGroupWriteRequest;
315
+ };
316
+ output: ApiResponse_AppointmentHostGroup_;
317
+ };
318
+ /**
319
+ * POST /appointments/out-of-office
320
+ * Create an out-of-office entry
321
+ * tier: write · scope: meetings:write
322
+ */
323
+ create_ooo_appointments_out_of_office_post: {
324
+ input: {
325
+ headers?: {
326
+ "X-Target-Org-Id"?: string | null;
327
+ };
328
+ body: CreateOutOfOfficeRequest;
329
+ };
330
+ output: Record<string, unknown>;
331
+ };
332
+ /**
333
+ * POST /appointments/routing-forms
334
+ * Create a routing form
335
+ * tier: write · scope: meetings:write
336
+ */
337
+ create_routing_form_appointments_routing_forms_post: {
338
+ input: {
339
+ headers?: {
340
+ "X-Target-Org-Id"?: string | null;
341
+ };
342
+ body: CreateRoutingFormRequest;
343
+ };
344
+ output: Record<string, unknown>;
345
+ };
346
+ /**
347
+ * POST /appointments/saved-filters
348
+ * Create Saved Filter
349
+ * tier: write · scope: meetings:write
350
+ */
351
+ create_saved_filter_appointments_saved_filters_post: {
352
+ input: {
353
+ headers?: {
354
+ "X-Target-Org-Id"?: string | null;
355
+ };
356
+ body: CreateSavedFilterRequest;
357
+ };
358
+ output: ApiResponse_SchedulingPayload_;
359
+ };
360
+ /**
361
+ * POST /appointments/schedules
362
+ * Create an availability schedule
363
+ * tier: write · scope: meetings:write
364
+ */
365
+ create_schedule_appointments_schedules_post: {
366
+ input: {
367
+ headers?: {
368
+ "X-Target-Org-Id"?: string | null;
369
+ };
370
+ body: CreateScheduleRequest;
371
+ };
372
+ output: Record<string, unknown>;
373
+ };
374
+ /**
375
+ * POST /appointments/workflows
376
+ * Create a workflow
377
+ * tier: external · scope: meetings:run
378
+ */
379
+ create_workflow_appointments_workflows_post: {
380
+ input: {
381
+ headers?: {
382
+ "X-Target-Org-Id"?: string | null;
383
+ };
384
+ body: CreateWorkflowRequest;
385
+ };
386
+ output: Record<string, unknown>;
387
+ };
388
+ /**
389
+ * DELETE /appointments/event-types/{event_type_id}
390
+ * Delete an event type
391
+ * tier: destructive · scope: meetings:delete
392
+ */
393
+ delete_event_type_appointments_event_types__event_type_id__delete: {
394
+ input: {
395
+ path: {
396
+ /** Event-type integer ID. */
397
+ event_type_id: number;
398
+ };
399
+ headers?: {
400
+ "X-Target-Org-Id"?: string | null;
401
+ };
402
+ };
403
+ output: Record<string, unknown>;
404
+ };
405
+ /**
406
+ * DELETE /appointments/event-types/{event_type_id}/host-groups/{group_id}
407
+ * Delete Event Type Host Group
408
+ * tier: destructive · scope: meetings:delete
409
+ */
410
+ delete_event_type_host_group_appointments_event_types__event_type_id__host_groups__group_id__delete: {
411
+ input: {
412
+ path: {
413
+ /** Event type id. */
414
+ event_type_id: number;
415
+ /** Host group id. */
416
+ group_id: string;
417
+ };
418
+ headers?: {
419
+ "X-Target-Org-Id"?: string | null;
420
+ };
421
+ };
422
+ output: void;
423
+ };
424
+ /**
425
+ * DELETE /appointments/out-of-office/{ooo_uuid}
426
+ * Delete an out-of-office entry
427
+ * tier: destructive · scope: meetings:delete
428
+ */
429
+ delete_ooo_appointments_out_of_office__ooo_uuid__delete: {
430
+ input: {
431
+ path: {
432
+ /** UUID of the out-of-office entry to delete. */
433
+ ooo_uuid: string;
434
+ };
435
+ headers?: {
436
+ "X-Target-Org-Id"?: string | null;
437
+ };
438
+ };
439
+ output: Record<string, unknown>;
440
+ };
441
+ /**
442
+ * DELETE /appointments/routing-forms/{form_id}
443
+ * Delete a routing form (cascades fields and routes)
444
+ * tier: destructive · scope: meetings:delete
445
+ */
446
+ delete_routing_form_appointments_routing_forms__form_id__delete: {
447
+ input: {
448
+ path: {
449
+ /** Routing form integer ID. */
450
+ form_id: number;
451
+ };
452
+ headers?: {
453
+ "X-Target-Org-Id"?: string | null;
454
+ };
455
+ };
456
+ output: Record<string, unknown>;
457
+ };
458
+ /**
459
+ * DELETE /appointments/saved-filters/{filter_id}
460
+ * Delete Saved Filter
461
+ * tier: destructive · scope: meetings:delete
462
+ */
463
+ delete_saved_filter_appointments_saved_filters__filter_id__delete: {
464
+ input: {
465
+ path: {
466
+ /** Filter id (UUID). */
467
+ filter_id: string;
468
+ };
469
+ headers?: {
470
+ "X-Target-Org-Id"?: string | null;
471
+ };
472
+ };
473
+ output: ApiResponse_SchedulingPayload_;
474
+ };
475
+ /**
476
+ * DELETE /appointments/schedules/{schedule_id}
477
+ * Delete a schedule
478
+ * tier: destructive · scope: meetings:delete
479
+ */
480
+ delete_schedule_appointments_schedules__schedule_id__delete: {
481
+ input: {
482
+ path: {
483
+ /** Schedule integer ID. */
484
+ schedule_id: number;
485
+ };
486
+ headers?: {
487
+ "X-Target-Org-Id"?: string | null;
488
+ };
489
+ };
490
+ output: Record<string, unknown>;
491
+ };
492
+ /**
493
+ * DELETE /appointments/workflows/{workflow_id}
494
+ * Delete a workflow and cancel pending reminders
495
+ * tier: destructive · scope: meetings:delete
496
+ */
497
+ delete_workflow_appointments_workflows__workflow_id__delete: {
498
+ input: {
499
+ path: {
500
+ /** Workflow integer ID. */
501
+ workflow_id: number;
502
+ };
503
+ headers?: {
504
+ "X-Target-Org-Id"?: string | null;
505
+ };
506
+ };
507
+ output: void;
508
+ };
509
+ /**
510
+ * DELETE /appointments/calendars/selected
511
+ * Deselect a sub-calendar from conflict checking
512
+ * tier: destructive · scope: meetings:delete
513
+ */
514
+ deselect_calendar_appointments_calendars_selected_delete: {
515
+ input: {
516
+ query: {
517
+ credential_id: number;
518
+ integration: string;
519
+ external_id: string;
520
+ };
521
+ headers?: {
522
+ "X-Target-Org-Id"?: string | null;
523
+ };
524
+ };
525
+ output: void;
526
+ };
527
+ /**
528
+ * DELETE /appointments/calendars/{credential_id}
529
+ * Disconnect a calendar account
530
+ * tier: destructive · scope: meetings:delete
531
+ */
532
+ disconnect_calendar_appointments_calendars__credential_id__delete: {
533
+ input: {
534
+ path: {
535
+ credential_id: number;
536
+ };
537
+ headers?: {
538
+ "X-Target-Org-Id"?: string | null;
539
+ };
540
+ };
541
+ output: void;
542
+ };
543
+ /**
544
+ * DELETE /appointments/conferencing/{provider}/disconnect
545
+ * Disconnect a conferencing provider
546
+ * tier: destructive · scope: meetings:delete
547
+ */
548
+ disconnect_conferencing_appointments_conferencing__provider__disconnect_delete: {
549
+ input: {
550
+ path: {
551
+ provider: string;
552
+ };
553
+ headers?: {
554
+ "X-Target-Org-Id"?: string | null;
555
+ };
556
+ };
557
+ output: void;
558
+ };
559
+ /**
560
+ * POST /appointments/event-types/{event_type_id}/duplicate
561
+ * Duplicate an event type (with a '-copy' slug)
562
+ * tier: write · scope: meetings:write
563
+ */
564
+ duplicate_event_type_appointments_event_types__event_type_id__duplicate_post: {
565
+ input: {
566
+ path: {
567
+ /** Source event-type integer ID. */
568
+ event_type_id: number;
569
+ };
570
+ headers?: {
571
+ "X-Target-Org-Id"?: string | null;
572
+ };
573
+ };
574
+ output: Record<string, unknown>;
575
+ };
576
+ /**
577
+ * POST /appointments/routing-forms/{form_id}/duplicate
578
+ * Duplicate a routing form (copy with all fields and routes)
579
+ * tier: write · scope: meetings:write
580
+ */
581
+ duplicate_routing_form_appointments_routing_forms__form_id__duplicate_post: {
582
+ input: {
583
+ path: {
584
+ /** Source routing form integer ID. */
585
+ form_id: number;
586
+ };
587
+ headers?: {
588
+ "X-Target-Org-Id"?: string | null;
589
+ };
590
+ };
591
+ output: Record<string, unknown>;
592
+ };
593
+ /**
594
+ * GET /appointments/bookings/insights/export
595
+ * Export Booking Insights
596
+ * tier: read · scope: meetings:read
597
+ */
598
+ export_booking_insights_appointments_bookings_insights_export_get: {
599
+ input: {
600
+ query?: {
601
+ /** ISO date. Omit for all time. */
602
+ date_from?: string | null;
603
+ /** ISO date. Omit for all time. */
604
+ date_to?: string | null;
605
+ /** CSV of INTEGER event type ids. Checked here because the app splits and `int()`s it unguarded. */
606
+ event_type_ids?: string | null;
607
+ /** One member's bookings. Honoured for Admin keys only. */
608
+ member_user_id?: number | null;
609
+ };
610
+ headers?: {
611
+ "X-Target-Org-Id"?: string | null;
612
+ };
613
+ };
614
+ output: ApiResponse_CsvExportPayload_;
615
+ };
616
+ /**
617
+ * GET /appointments/routing-forms/{form_id}/responses/export
618
+ * Export Routing Form Responses
619
+ * tier: read · scope: meetings:read
620
+ */
621
+ export_routing_form_responses_appointments_routing_forms__form_id__responses_export_get: {
622
+ input: {
623
+ path: {
624
+ /** Routing form id. */
625
+ form_id: number;
626
+ };
627
+ headers?: {
628
+ "X-Target-Org-Id"?: string | null;
629
+ };
630
+ };
631
+ output: ApiResponse_CsvExportPayload_;
632
+ };
633
+ /**
634
+ * GET /appointments/schedules/{schedule_id}/availability
635
+ * Get availability rules and overrides for a schedule
636
+ * tier: read · scope: meetings:read
637
+ */
638
+ get_availability_appointments_schedules__schedule_id__availability_get: {
639
+ input: {
640
+ path: {
641
+ /** Schedule integer ID. */
642
+ schedule_id: number;
643
+ };
644
+ headers?: {
645
+ "X-Target-Org-Id"?: string | null;
646
+ };
647
+ };
648
+ output: Record<string, unknown>;
649
+ };
650
+ /**
651
+ * GET /appointments/slots
652
+ * Get Available Slots
653
+ * tier: read · scope: meetings:read
654
+ */
655
+ get_available_slots_appointments_slots_get: {
656
+ input: {
657
+ query: {
658
+ /** Event type to compute slots for. */
659
+ event_type_id: number;
660
+ /** Window start, ISO-8601. A bare date is read as UTC. */
661
+ start: string;
662
+ /** Window end, ISO-8601. At most 60 days after `start`. */
663
+ end: string;
664
+ /** IANA timezone to express the slots in. */
665
+ time_zone?: string | null;
666
+ /** Minutes, for a multi-duration event type. Omit for its own length. */
667
+ duration?: number | null;
668
+ };
669
+ headers?: {
670
+ "X-Target-Org-Id"?: string | null;
671
+ };
672
+ };
673
+ output: ApiResponse_SchedulingPayload_;
674
+ };
675
+ /**
676
+ * GET /appointments/bookings/{booking_uid}
677
+ * Get a single booking by UID
678
+ * tier: read · scope: meetings:read
679
+ */
680
+ get_booking_appointments_bookings__booking_uid__get: {
681
+ input: {
682
+ path: {
683
+ /** Booking UID (uuid string). */
684
+ booking_uid: string;
685
+ };
686
+ headers?: {
687
+ "X-Target-Org-Id"?: string | null;
688
+ };
689
+ };
690
+ output: Record<string, unknown>;
691
+ };
692
+ /**
693
+ * GET /appointments/bookings/insights
694
+ * Get aggregated booking insights
695
+ * tier: read · scope: meetings:read
696
+ */
697
+ get_booking_insights_appointments_bookings_insights_get: {
698
+ input: {
699
+ query?: {
700
+ /** ISO date string for range start (e.g. '2026-01-01'). */
701
+ date_from?: string | null;
702
+ /** ISO date string for range end (e.g. '2026-12-31'). */
703
+ date_to?: string | null;
704
+ /** Comma-separated event-type IDs to filter by. */
705
+ event_type_ids?: string | null;
706
+ };
707
+ headers?: {
708
+ "X-Target-Org-Id"?: string | null;
709
+ };
710
+ };
711
+ output: Record<string, unknown>;
712
+ };
713
+ /**
714
+ * GET /appointments/conferencing/default
715
+ * Get the current default conferencing provider
716
+ * tier: read · scope: meetings:read
717
+ */
718
+ get_default_conferencing_appointments_conferencing_default_get: {
719
+ input: {
720
+ headers?: {
721
+ "X-Target-Org-Id"?: string | null;
722
+ };
723
+ };
724
+ output: DefaultConferencingEnvelope;
725
+ };
726
+ /**
727
+ * GET /appointments/calendars/destination
728
+ * Get the destination calendar (with event-type fallback)
729
+ * tier: read · scope: meetings:read
730
+ */
731
+ get_destination_calendar_appointments_calendars_destination_get: {
732
+ input: {
733
+ query?: {
734
+ event_type_id?: number | null;
735
+ };
736
+ headers?: {
737
+ "X-Target-Org-Id"?: string | null;
738
+ };
739
+ };
740
+ output: DestinationCalendarEnvelope;
741
+ };
742
+ /**
743
+ * GET /appointments/event-types/{event_type_id}/embed
744
+ * Get Embed Config
745
+ * tier: read · scope: meetings:read
746
+ */
747
+ get_embed_config_appointments_event_types__event_type_id__embed_get: {
748
+ input: {
749
+ path: {
750
+ /** Event type id. */
751
+ event_type_id: number;
752
+ };
753
+ headers?: {
754
+ "X-Target-Org-Id"?: string | null;
755
+ };
756
+ };
757
+ output: ApiResponse_SchedulingPayload_;
758
+ };
759
+ /**
760
+ * GET /appointments/event-types/{event_type_id}
761
+ * Get full detail for one bookable event type
762
+ * tier: read · scope: meetings:read
763
+ */
764
+ get_event_type_appointments_event_types__event_type_id__get: {
765
+ input: {
766
+ path: {
767
+ /** Event-type integer ID. */
768
+ event_type_id: number;
769
+ };
770
+ headers?: {
771
+ "X-Target-Org-Id"?: string | null;
772
+ };
773
+ };
774
+ output: Record<string, unknown>;
775
+ };
776
+ /**
777
+ * GET /appointments/event-types/{event_type_id}/destination-calendar
778
+ * Get Event Type Destination Calendar
779
+ * tier: read · scope: meetings:read
780
+ */
781
+ get_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_get: {
782
+ input: {
783
+ path: {
784
+ /** Event type id. */
785
+ event_type_id: number;
786
+ };
787
+ headers?: {
788
+ "X-Target-Org-Id"?: string | null;
789
+ };
790
+ };
791
+ output: ApiResponse_SchedulingPayload_;
792
+ };
793
+ /**
794
+ * GET /appointments/event-types/{event_type_id}/selected-calendars
795
+ * Get Event Type Selected Calendars
796
+ * tier: read · scope: meetings:read
797
+ */
798
+ get_event_type_selected_calendars_appointments_event_types__event_type_id__selected_calendars_get: {
799
+ input: {
800
+ path: {
801
+ /** Event type id. */
802
+ event_type_id: number;
803
+ };
804
+ headers?: {
805
+ "X-Target-Org-Id"?: string | null;
806
+ };
807
+ };
808
+ output: ApiResponse_SchedulingPayload_;
809
+ };
810
+ /**
811
+ * GET /appointments/org-settings
812
+ * Get Org Settings
813
+ * tier: read · scope: meetings:read
814
+ */
815
+ get_org_settings_appointments_org_settings_get: {
816
+ input: {
817
+ headers?: {
818
+ "X-Target-Org-Id"?: string | null;
819
+ };
820
+ };
821
+ output: ApiResponse_SchedulingPayload_;
822
+ };
823
+ /**
824
+ * GET /appointments/routing-forms/{form_id}
825
+ * Get a single routing form
826
+ * tier: read · scope: meetings:read
827
+ */
828
+ get_routing_form_appointments_routing_forms__form_id__get: {
829
+ input: {
830
+ path: {
831
+ /** Routing form integer ID. */
832
+ form_id: number;
833
+ };
834
+ headers?: {
835
+ "X-Target-Org-Id"?: string | null;
836
+ };
837
+ };
838
+ output: Record<string, unknown>;
839
+ };
840
+ /**
841
+ * GET /appointments/schedules/{schedule_id}
842
+ * Get a schedule with availability and linked event types
843
+ * tier: read · scope: meetings:read
844
+ */
845
+ get_schedule_appointments_schedules__schedule_id__get: {
846
+ input: {
847
+ path: {
848
+ /** Schedule integer ID. */
849
+ schedule_id: number;
850
+ };
851
+ headers?: {
852
+ "X-Target-Org-Id"?: string | null;
853
+ };
854
+ };
855
+ output: Record<string, unknown>;
856
+ };
857
+ /**
858
+ * GET /appointments/profile
859
+ * Get Schedule Profile
860
+ * tier: read · scope: meetings:read
861
+ */
862
+ get_schedule_profile_appointments_profile_get: {
863
+ input: {
864
+ headers?: {
865
+ "X-Target-Org-Id"?: string | null;
866
+ };
867
+ };
868
+ output: ApiResponse_SchedulingPayload_;
869
+ };
870
+ /**
871
+ * GET /appointments/workflows/{workflow_id}
872
+ * Get a single workflow
873
+ * tier: read · scope: meetings:read
874
+ */
875
+ get_workflow_appointments_workflows__workflow_id__get: {
876
+ input: {
877
+ path: {
878
+ /** Workflow integer ID. */
879
+ workflow_id: number;
880
+ };
881
+ headers?: {
882
+ "X-Target-Org-Id"?: string | null;
883
+ };
884
+ };
885
+ output: Record<string, unknown>;
886
+ };
887
+ /**
888
+ * POST /appointments/bookings/import
889
+ * Import Meeting
890
+ * tier: external · scope: meetings:run
891
+ */
892
+ import_meeting_appointments_bookings_import_post: {
893
+ input: {
894
+ headers?: {
895
+ "X-Target-Org-Id"?: string | null;
896
+ };
897
+ body: ImportMeetingRequest;
898
+ };
899
+ output: ApiResponse_SchedulingPayload_;
900
+ };
901
+ /**
902
+ * GET /appointments/bookings
903
+ * List the caller's bookings (paginated)
904
+ * tier: read · scope: meetings:read
905
+ */
906
+ list_bookings_appointments_bookings_get: {
907
+ input: {
908
+ query?: {
909
+ /** Filter by status: accepted | pending | cancelled | rejected. */
910
+ status?: string | null;
911
+ /** Only bookings for this event type. */
912
+ event_type_id?: number | null;
913
+ /** ISO-8601 lower bound on start_time. */
914
+ after_start?: string | null;
915
+ /** ISO-8601 upper bound on end_time. */
916
+ before_end?: string | null;
917
+ /** Filter by an attendee email. */
918
+ attendee_email?: string | null;
919
+ /** start_time | end_time | created_at | status. */
920
+ sort_by?: string;
921
+ sort_order?: string;
922
+ skip?: number;
923
+ take?: number;
924
+ };
925
+ headers?: {
926
+ "X-Target-Org-Id"?: string | null;
927
+ };
928
+ };
929
+ output: Record<string, unknown>;
930
+ };
931
+ /**
932
+ * GET /appointments/calendars/events
933
+ * List Calendar Events
934
+ * tier: read · scope: meetings:read
935
+ */
936
+ list_calendar_events_appointments_calendars_events_get: {
937
+ input: {
938
+ query: {
939
+ /** Window start, ISO-8601. */
940
+ start: string;
941
+ /** Window end, ISO-8601. */
942
+ end: string;
943
+ /** `my` for the key owner alone, `org` for every member who has not opted out. An empty `org` result means nobody shares a calendar, not that nobody is busy. */
944
+ scope?: "my" | "org";
945
+ /** CSV. Narrows `org` scope to these members. */
946
+ host_emails?: string | null;
947
+ };
948
+ headers?: {
949
+ "X-Target-Org-Id"?: string | null;
950
+ };
951
+ };
952
+ output: ApiResponse_SchedulingListPayload_;
953
+ };
954
+ /**
955
+ * GET /appointments/calendars
956
+ * List connected calendar accounts
957
+ * tier: read · scope: meetings:read
958
+ */
959
+ list_calendars_appointments_calendars_get: {
960
+ input: {
961
+ headers?: {
962
+ "X-Target-Org-Id"?: string | null;
963
+ };
964
+ };
965
+ output: Array<ConnectedCalendarResponse>;
966
+ };
967
+ /**
968
+ * GET /appointments/conferencing
969
+ * List connected conferencing providers
970
+ * tier: read · scope: meetings:read
971
+ */
972
+ list_conferencing_appointments_conferencing_get: {
973
+ input: {
974
+ headers?: {
975
+ "X-Target-Org-Id"?: string | null;
976
+ };
977
+ };
978
+ output: Array<ConnectedConferencingResponse>;
979
+ };
980
+ /**
981
+ * GET /appointments/event-types/{event_type_id}/host-groups
982
+ * List Event Type Host Groups
983
+ * tier: read · scope: meetings:read
984
+ */
985
+ list_event_type_host_groups_appointments_event_types__event_type_id__host_groups_get: {
986
+ input: {
987
+ path: {
988
+ /** Event type id. */
989
+ event_type_id: number;
990
+ };
991
+ headers?: {
992
+ "X-Target-Org-Id"?: string | null;
993
+ };
994
+ };
995
+ output: ApiResponse_list_AppointmentHostGroup__;
996
+ };
997
+ /**
998
+ * GET /appointments/membership
999
+ * List Membership
1000
+ * tier: read · scope: meetings:read
1001
+ */
1002
+ list_membership_appointments_membership_get: {
1003
+ input: {
1004
+ headers?: {
1005
+ "X-Target-Org-Id"?: string | null;
1006
+ };
1007
+ };
1008
+ output: ApiResponse_SchedulingListPayload_;
1009
+ };
1010
+ /**
1011
+ * GET /appointments/out-of-office
1012
+ * List out-of-office entries for the calling user
1013
+ * tier: read · scope: meetings:read
1014
+ */
1015
+ list_ooo_appointments_out_of_office_get: {
1016
+ input: {
1017
+ headers?: {
1018
+ "X-Target-Org-Id"?: string | null;
1019
+ };
1020
+ };
1021
+ output: Record<string, unknown>;
1022
+ };
1023
+ /**
1024
+ * GET /appointments/routing-forms/{form_id}/responses
1025
+ * List captured responses for a routing form (paginated)
1026
+ * tier: read · scope: meetings:read
1027
+ */
1028
+ list_routing_form_responses_appointments_routing_forms__form_id__responses_get: {
1029
+ input: {
1030
+ path: {
1031
+ /** Routing form integer ID. */
1032
+ form_id: number;
1033
+ };
1034
+ query?: {
1035
+ /** Number of responses to skip. */
1036
+ skip?: number;
1037
+ /** Maximum responses to return (max 500). */
1038
+ take?: number;
1039
+ };
1040
+ headers?: {
1041
+ "X-Target-Org-Id"?: string | null;
1042
+ };
1043
+ };
1044
+ output: Record<string, unknown>;
1045
+ };
1046
+ /**
1047
+ * GET /appointments/routing-forms
1048
+ * List routing forms (includes response_count)
1049
+ * tier: read · scope: meetings:read
1050
+ */
1051
+ list_routing_forms_appointments_routing_forms_get: {
1052
+ input: {
1053
+ headers?: {
1054
+ "X-Target-Org-Id"?: string | null;
1055
+ };
1056
+ };
1057
+ output: Record<string, unknown>;
1058
+ };
1059
+ /**
1060
+ * GET /appointments/saved-filters
1061
+ * List Saved Filters
1062
+ * tier: read · scope: meetings:read
1063
+ */
1064
+ list_saved_filters_appointments_saved_filters_get: {
1065
+ input: {
1066
+ headers?: {
1067
+ "X-Target-Org-Id"?: string | null;
1068
+ };
1069
+ };
1070
+ output: ApiResponse_SchedulingListPayload_;
1071
+ };
1072
+ /**
1073
+ * GET /appointments/schedules
1074
+ * List the caller's availability schedules
1075
+ * tier: read · scope: meetings:read
1076
+ */
1077
+ list_schedules_appointments_schedules_get: {
1078
+ input: {
1079
+ headers?: {
1080
+ "X-Target-Org-Id"?: string | null;
1081
+ };
1082
+ };
1083
+ output: Record<string, unknown>;
1084
+ };
1085
+ /**
1086
+ * GET /appointments/bookings/sequences-picker
1087
+ * List Sequences For Picker
1088
+ * tier: read · scope: meetings:read
1089
+ */
1090
+ list_sequences_for_picker_appointments_bookings_sequences_picker_get: {
1091
+ input: {
1092
+ headers?: {
1093
+ "X-Target-Org-Id"?: string | null;
1094
+ };
1095
+ };
1096
+ output: ApiResponse_SchedulingListPayload_;
1097
+ };
1098
+ /**
1099
+ * GET /appointments/availability/team
1100
+ * List Team Availability
1101
+ * tier: read · scope: meetings:read
1102
+ */
1103
+ list_team_availability_appointments_availability_team_get: {
1104
+ input: {
1105
+ query: {
1106
+ /** The day, `YYYY-MM-DD`. */
1107
+ date: string;
1108
+ /** IANA timezone. INFORMATIONAL - the windows come back in UTC and the caller renders them; this shifts nothing server-side. */
1109
+ viewer_tz?: string;
1110
+ limit?: number;
1111
+ /** `next_cursor` from the previous page. */
1112
+ cursor?: number | null;
1113
+ /** Name or email substring. */
1114
+ search?: string | null;
1115
+ /** Only these teammates. REPEATABLE (`?user_ids=1&user_ids=2`), and it takes PRECEDENCE over `search` - sending both ignores the search. */
1116
+ user_ids?: Array<number> | null;
1117
+ };
1118
+ headers?: {
1119
+ "X-Target-Org-Id"?: string | null;
1120
+ };
1121
+ };
1122
+ output: ApiResponse_SchedulingPayload_;
1123
+ };
1124
+ /**
1125
+ * GET /appointments/workflows
1126
+ * List all workflows
1127
+ * tier: read · scope: meetings:read
1128
+ */
1129
+ list_workflows_appointments_workflows_get: {
1130
+ input: {
1131
+ headers?: {
1132
+ "X-Target-Org-Id"?: string | null;
1133
+ };
1134
+ };
1135
+ output: Record<string, unknown>;
1136
+ };
1137
+ /**
1138
+ * POST /appointments/bookings/{booking_uid}/mark-absent
1139
+ * Mark host or attendees as no-show
1140
+ * tier: external · scope: meetings:run
1141
+ */
1142
+ mark_absent_appointments_bookings__booking_uid__mark_absent_post: {
1143
+ input: {
1144
+ path: {
1145
+ /** Booking UID (uuid string). */
1146
+ booking_uid: string;
1147
+ };
1148
+ headers?: {
1149
+ "X-Target-Org-Id"?: string | null;
1150
+ };
1151
+ body: MarkAbsentRequest;
1152
+ };
1153
+ output: Record<string, unknown>;
1154
+ };
1155
+ /**
1156
+ * DELETE /appointments/slots/reserve/{slot_uid}
1157
+ * Release Slot
1158
+ * tier: destructive · scope: meetings:delete
1159
+ */
1160
+ release_slot_appointments_slots_reserve__slot_uid__delete: {
1161
+ input: {
1162
+ path: {
1163
+ /** The `uid` returned by `POST /appointments/slots/reserve`. */
1164
+ slot_uid: string;
1165
+ };
1166
+ headers?: {
1167
+ "X-Target-Org-Id"?: string | null;
1168
+ };
1169
+ };
1170
+ output: ApiResponse_SchedulingPayload_;
1171
+ };
1172
+ /**
1173
+ * DELETE /appointments/event-types/{event_type_id}/hosts/{host_user_id}
1174
+ * Remove Event Type Host
1175
+ * tier: destructive · scope: meetings:delete
1176
+ */
1177
+ remove_event_type_host_appointments_event_types__event_type_id__hosts__host_user_id__delete: {
1178
+ input: {
1179
+ path: {
1180
+ /** Event type id. */
1181
+ event_type_id: number;
1182
+ /** Host user id. */
1183
+ host_user_id: number;
1184
+ };
1185
+ headers?: {
1186
+ "X-Target-Org-Id"?: string | null;
1187
+ };
1188
+ };
1189
+ output: void;
1190
+ };
1191
+ /**
1192
+ * POST /appointments/bookings/{booking_uid}/request-reschedule
1193
+ * Send a reschedule-request email to the attendee (host action)
1194
+ * tier: external · scope: meetings:run
1195
+ */
1196
+ request_booking_reschedule_appointments_bookings__booking_uid__request_reschedule_post: {
1197
+ input: {
1198
+ path: {
1199
+ /** Booking UID (uuid string). */
1200
+ booking_uid: string;
1201
+ };
1202
+ headers?: {
1203
+ "X-Target-Org-Id"?: string | null;
1204
+ };
1205
+ body: RequestRescheduleRequest;
1206
+ };
1207
+ output: Record<string, unknown>;
1208
+ };
1209
+ /**
1210
+ * POST /appointments/bookings/{booking_uid}/reschedule
1211
+ * Reschedule a booking to a new start time
1212
+ * tier: external · scope: meetings:run
1213
+ */
1214
+ reschedule_booking_appointments_bookings__booking_uid__reschedule_post: {
1215
+ input: {
1216
+ path: {
1217
+ booking_uid: string;
1218
+ };
1219
+ headers?: {
1220
+ "X-Target-Org-Id"?: string | null;
1221
+ };
1222
+ body: RescheduleBookingRequest;
1223
+ };
1224
+ output: Record<string, unknown>;
1225
+ };
1226
+ /**
1227
+ * POST /appointments/slots/reserve
1228
+ * Reserve Slot
1229
+ * tier: write · scope: meetings:write
1230
+ */
1231
+ reserve_slot_appointments_slots_reserve_post: {
1232
+ input: {
1233
+ headers?: {
1234
+ "X-Target-Org-Id"?: string | null;
1235
+ };
1236
+ body: ReserveSlotRequest;
1237
+ };
1238
+ output: ApiResponse_SchedulingPayload_;
1239
+ };
1240
+ /**
1241
+ * POST /appointments/calendars/selected
1242
+ * Select a sub-calendar for conflict checking
1243
+ * tier: external · scope: meetings:run
1244
+ */
1245
+ select_calendar_appointments_calendars_selected_post: {
1246
+ input: {
1247
+ headers?: {
1248
+ "X-Target-Org-Id"?: string | null;
1249
+ };
1250
+ body: SelectCalendarRequest;
1251
+ };
1252
+ output: SelectedCalendarEnvelope;
1253
+ };
1254
+ /**
1255
+ * POST /appointments/conferencing/{provider}/default
1256
+ * Set the default conferencing provider
1257
+ * tier: external · scope: meetings:run
1258
+ */
1259
+ set_default_conferencing_appointments_conferencing__provider__default_post: {
1260
+ input: {
1261
+ path: {
1262
+ provider: string;
1263
+ };
1264
+ headers?: {
1265
+ "X-Target-Org-Id"?: string | null;
1266
+ };
1267
+ body: SetDefaultConferencingRequest;
1268
+ };
1269
+ output: DefaultConferencingEnvelope;
1270
+ };
1271
+ /**
1272
+ * POST /appointments/schedules/{schedule_id}/set-default
1273
+ * Set a schedule as the caller's default
1274
+ * tier: write · scope: meetings:write
1275
+ */
1276
+ set_default_schedule_appointments_schedules__schedule_id__set_default_post: {
1277
+ input: {
1278
+ path: {
1279
+ /** Schedule integer ID. */
1280
+ schedule_id: number;
1281
+ };
1282
+ headers?: {
1283
+ "X-Target-Org-Id"?: string | null;
1284
+ };
1285
+ };
1286
+ output: Record<string, unknown>;
1287
+ };
1288
+ /**
1289
+ * PUT /appointments/calendars/destination
1290
+ * Set the destination calendar for new booking events
1291
+ * tier: external · scope: meetings:run
1292
+ */
1293
+ set_destination_calendar_appointments_calendars_destination_put: {
1294
+ input: {
1295
+ headers?: {
1296
+ "X-Target-Org-Id"?: string | null;
1297
+ };
1298
+ body: SetDestinationCalendarRequest;
1299
+ };
1300
+ output: DestinationCalendarEnvelope;
1301
+ };
1302
+ /**
1303
+ * PUT /appointments/event-types/{event_type_id}/destination-calendar
1304
+ * Set Event Type Destination Calendar
1305
+ * tier: write · scope: meetings:write
1306
+ */
1307
+ set_event_type_destination_calendar_appointments_event_types__event_type_id__destination_calendar_put: {
1308
+ input: {
1309
+ path: {
1310
+ /** Event type id. */
1311
+ event_type_id: number;
1312
+ };
1313
+ headers?: {
1314
+ "X-Target-Org-Id"?: string | null;
1315
+ };
1316
+ body: UpdateDestinationCalendarRequest;
1317
+ };
1318
+ output: ApiResponse_SchedulingPayload_;
1319
+ };
1320
+ /**
1321
+ * PUT /appointments/event-types/{event_type_id}/selected-calendars
1322
+ * Set Event Type Selected Calendars
1323
+ * tier: write · scope: meetings:write
1324
+ */
1325
+ set_event_type_selected_calendars_appointments_event_types__event_type_id__selected_calendars_put: {
1326
+ input: {
1327
+ path: {
1328
+ /** Event type id. */
1329
+ event_type_id: number;
1330
+ };
1331
+ headers?: {
1332
+ "X-Target-Org-Id"?: string | null;
1333
+ };
1334
+ body: UpdateSelectedCalendarsRequest;
1335
+ };
1336
+ output: ApiResponse_SchedulingPayload_;
1337
+ };
1338
+ /**
1339
+ * PUT /appointments/event-types/{event_type_id}/locked-fields
1340
+ * Set Locked Fields
1341
+ * tier: write · scope: meetings:write
1342
+ */
1343
+ set_locked_fields_appointments_event_types__event_type_id__locked_fields_put: {
1344
+ input: {
1345
+ path: {
1346
+ /** Event type id. */
1347
+ event_type_id: number;
1348
+ };
1349
+ headers?: {
1350
+ "X-Target-Org-Id"?: string | null;
1351
+ };
1352
+ body: SetLockedFieldsRequest;
1353
+ };
1354
+ output: ApiResponse_SchedulingPayload_;
1355
+ };
1356
+ /**
1357
+ * PUT /appointments/conferencing/{provider}/link
1358
+ * Set or update a link-based conferencing provider's meeting URL
1359
+ * tier: external · scope: meetings:run
1360
+ */
1361
+ set_provider_link_appointments_conferencing__provider__link_put: {
1362
+ input: {
1363
+ path: {
1364
+ provider: string;
1365
+ };
1366
+ headers?: {
1367
+ "X-Target-Org-Id"?: string | null;
1368
+ };
1369
+ body: Body_set_provider_link_appointments_conferencing__provider__link_put;
1370
+ };
1371
+ output: Record<string, unknown>;
1372
+ };
1373
+ /**
1374
+ * POST /appointments/workflows/{workflow_id}/toggle
1375
+ * Activate or deactivate a workflow
1376
+ * tier: external · scope: meetings:run
1377
+ */
1378
+ toggle_workflow_appointments_workflows__workflow_id__toggle_post: {
1379
+ input: {
1380
+ path: {
1381
+ /** Workflow integer ID. */
1382
+ workflow_id: number;
1383
+ };
1384
+ headers?: {
1385
+ "X-Target-Org-Id"?: string | null;
1386
+ };
1387
+ body: ToggleWorkflowRequest;
1388
+ };
1389
+ output: Record<string, unknown>;
1390
+ };
1391
+ /**
1392
+ * DELETE /appointments/event-types/{event_type_id}/members/{user_id}
1393
+ * Unassign Managed Member
1394
+ * tier: destructive · scope: meetings:delete
1395
+ */
1396
+ unassign_managed_member_appointments_event_types__event_type_id__members__user_id__delete: {
1397
+ input: {
1398
+ path: {
1399
+ /** Event type id. */
1400
+ event_type_id: number;
1401
+ /** The member's integer scheduling user id. */
1402
+ user_id: number;
1403
+ };
1404
+ headers?: {
1405
+ "X-Target-Org-Id"?: string | null;
1406
+ };
1407
+ };
1408
+ output: ApiResponse_SchedulingPayload_;
1409
+ };
1410
+ /**
1411
+ * PATCH /appointments/schedules/{schedule_id}/availability
1412
+ * Replace availability rules and/or date overrides for a schedule
1413
+ * tier: write · scope: meetings:write
1414
+ */
1415
+ update_availability_appointments_schedules__schedule_id__availability_patch: {
1416
+ input: {
1417
+ path: {
1418
+ /** Schedule integer ID. */
1419
+ schedule_id: number;
1420
+ };
1421
+ headers?: {
1422
+ "X-Target-Org-Id"?: string | null;
1423
+ };
1424
+ body: UpdateAvailabilityRequest;
1425
+ };
1426
+ output: Record<string, unknown>;
1427
+ };
1428
+ /**
1429
+ * PATCH /appointments/bookings/{booking_uid}/location
1430
+ * Update the meeting location and notify both parties
1431
+ * tier: external · scope: meetings:run
1432
+ */
1433
+ update_booking_location_appointments_bookings__booking_uid__location_patch: {
1434
+ input: {
1435
+ path: {
1436
+ /** Booking UID (uuid string). */
1437
+ booking_uid: string;
1438
+ };
1439
+ headers?: {
1440
+ "X-Target-Org-Id"?: string | null;
1441
+ };
1442
+ body: UpdateLocationRequest;
1443
+ };
1444
+ output: Record<string, unknown>;
1445
+ };
1446
+ /**
1447
+ * PATCH /appointments/bookings/{booking_uid}/sequence
1448
+ * Associate a booking with a sequence (or detach)
1449
+ * tier: external · scope: meetings:run
1450
+ */
1451
+ update_booking_sequence_appointments_bookings__booking_uid__sequence_patch: {
1452
+ input: {
1453
+ path: {
1454
+ /** Booking UID (uuid string). */
1455
+ booking_uid: string;
1456
+ };
1457
+ headers?: {
1458
+ "X-Target-Org-Id"?: string | null;
1459
+ };
1460
+ body: appointments__domain__entities__UpdateSequenceRequest;
1461
+ };
1462
+ output: Record<string, unknown>;
1463
+ };
1464
+ /**
1465
+ * PATCH /appointments/event-types/{event_type_id}/embed
1466
+ * Update Embed Config
1467
+ * tier: write · scope: meetings:write
1468
+ */
1469
+ update_embed_config_appointments_event_types__event_type_id__embed_patch: {
1470
+ input: {
1471
+ path: {
1472
+ /** Event type id. */
1473
+ event_type_id: number;
1474
+ };
1475
+ headers?: {
1476
+ "X-Target-Org-Id"?: string | null;
1477
+ };
1478
+ body: UpdateEmbedConfigRequest;
1479
+ };
1480
+ output: ApiResponse_SchedulingPayload_;
1481
+ };
1482
+ /**
1483
+ * PATCH /appointments/event-types/{event_type_id}
1484
+ * Update an event type (partial)
1485
+ * tier: write · scope: meetings:write
1486
+ */
1487
+ update_event_type_appointments_event_types__event_type_id__patch: {
1488
+ input: {
1489
+ path: {
1490
+ /** Event-type integer ID. */
1491
+ event_type_id: number;
1492
+ };
1493
+ headers?: {
1494
+ "X-Target-Org-Id"?: string | null;
1495
+ };
1496
+ body: UpdateEventTypeRequest;
1497
+ };
1498
+ output: Record<string, unknown>;
1499
+ };
1500
+ /**
1501
+ * PATCH /appointments/event-types/{event_type_id}/hosts/{host_user_id}
1502
+ * Update Event Type Host
1503
+ * tier: write · scope: meetings:write
1504
+ */
1505
+ update_event_type_host_appointments_event_types__event_type_id__hosts__host_user_id__patch: {
1506
+ input: {
1507
+ path: {
1508
+ /** Event type id. */
1509
+ event_type_id: number;
1510
+ /** Host user id. */
1511
+ host_user_id: number;
1512
+ };
1513
+ headers?: {
1514
+ "X-Target-Org-Id"?: string | null;
1515
+ };
1516
+ body: AppointmentHostUpdateRequest;
1517
+ };
1518
+ output: ApiResponse_AppointmentHost_;
1519
+ };
1520
+ /**
1521
+ * PATCH /appointments/event-types/{event_type_id}/host-groups/{group_id}
1522
+ * Update Event Type Host Group
1523
+ * tier: write · scope: meetings:write
1524
+ */
1525
+ update_event_type_host_group_appointments_event_types__event_type_id__host_groups__group_id__patch: {
1526
+ input: {
1527
+ path: {
1528
+ /** Event type id. */
1529
+ event_type_id: number;
1530
+ /** Host group id. */
1531
+ group_id: string;
1532
+ };
1533
+ headers?: {
1534
+ "X-Target-Org-Id"?: string | null;
1535
+ };
1536
+ body: AppointmentHostGroupWriteRequest;
1537
+ };
1538
+ output: ApiResponse_AppointmentHostGroup_;
1539
+ };
1540
+ /**
1541
+ * PATCH /appointments/membership/by-user/{user_id}/role
1542
+ * Update Member Role
1543
+ * tier: destructive · scope: meetings:delete
1544
+ */
1545
+ update_member_role_appointments_membership_by_user__user_id__role_patch: {
1546
+ input: {
1547
+ path: {
1548
+ /** The member's INTEGER scheduling user id - `user_id` from `GET /appointments/membership`. Not a PropelAuth id or an email. */
1549
+ user_id: number;
1550
+ };
1551
+ headers?: {
1552
+ "X-Target-Org-Id"?: string | null;
1553
+ };
1554
+ body: UpdateMemberRoleRequest;
1555
+ };
1556
+ output: ApiResponse_SchedulingPayload_;
1557
+ };
1558
+ /**
1559
+ * PATCH /appointments/out-of-office/{ooo_uuid}
1560
+ * Update an out-of-office entry
1561
+ * tier: write · scope: meetings:write
1562
+ */
1563
+ update_ooo_appointments_out_of_office__ooo_uuid__patch: {
1564
+ input: {
1565
+ path: {
1566
+ /** UUID of the out-of-office entry to update. */
1567
+ ooo_uuid: string;
1568
+ };
1569
+ headers?: {
1570
+ "X-Target-Org-Id"?: string | null;
1571
+ };
1572
+ body: UpdateOutOfOfficeRequest;
1573
+ };
1574
+ output: Record<string, unknown>;
1575
+ };
1576
+ /**
1577
+ * PATCH /appointments/org-settings
1578
+ * Update Org Settings
1579
+ * tier: write · scope: meetings:write
1580
+ */
1581
+ update_org_settings_appointments_org_settings_patch: {
1582
+ input: {
1583
+ headers?: {
1584
+ "X-Target-Org-Id"?: string | null;
1585
+ };
1586
+ body: UpdateOrgSettingsRequest;
1587
+ };
1588
+ output: ApiResponse_SchedulingPayload_;
1589
+ };
1590
+ /**
1591
+ * PATCH /appointments/routing-forms/{form_id}
1592
+ * Update a routing form (partial)
1593
+ * tier: write · scope: meetings:write
1594
+ */
1595
+ update_routing_form_appointments_routing_forms__form_id__patch: {
1596
+ input: {
1597
+ path: {
1598
+ /** Routing form integer ID. */
1599
+ form_id: number;
1600
+ };
1601
+ headers?: {
1602
+ "X-Target-Org-Id"?: string | null;
1603
+ };
1604
+ body: UpdateRoutingFormRequest;
1605
+ };
1606
+ output: Record<string, unknown>;
1607
+ };
1608
+ /**
1609
+ * PUT /appointments/saved-filters/{filter_id}
1610
+ * Update Saved Filter
1611
+ * tier: write · scope: meetings:write
1612
+ */
1613
+ update_saved_filter_appointments_saved_filters__filter_id__put: {
1614
+ input: {
1615
+ path: {
1616
+ /** Filter id (UUID). */
1617
+ filter_id: string;
1618
+ };
1619
+ headers?: {
1620
+ "X-Target-Org-Id"?: string | null;
1621
+ };
1622
+ body: UpdateSavedFilterRequest;
1623
+ };
1624
+ output: ApiResponse_SchedulingPayload_;
1625
+ };
1626
+ /**
1627
+ * PATCH /appointments/schedules/{schedule_id}
1628
+ * Update a schedule (partial)
1629
+ * tier: write · scope: meetings:write
1630
+ */
1631
+ update_schedule_appointments_schedules__schedule_id__patch: {
1632
+ input: {
1633
+ path: {
1634
+ /** Schedule integer ID. */
1635
+ schedule_id: number;
1636
+ };
1637
+ headers?: {
1638
+ "X-Target-Org-Id"?: string | null;
1639
+ };
1640
+ body: UpdateScheduleRequest;
1641
+ };
1642
+ output: Record<string, unknown>;
1643
+ };
1644
+ /**
1645
+ * PATCH /appointments/profile
1646
+ * Update Schedule Profile
1647
+ * tier: write · scope: meetings:write
1648
+ */
1649
+ update_schedule_profile_appointments_profile_patch: {
1650
+ input: {
1651
+ headers?: {
1652
+ "X-Target-Org-Id"?: string | null;
1653
+ };
1654
+ body: UpdateScheduleProfileRequest;
1655
+ };
1656
+ output: ApiResponse_SchedulingPayload_;
1657
+ };
1658
+ /**
1659
+ * PATCH /appointments/workflows/{workflow_id}
1660
+ * Update a workflow (partial)
1661
+ * tier: external · scope: meetings:run
1662
+ */
1663
+ update_workflow_appointments_workflows__workflow_id__patch: {
1664
+ input: {
1665
+ path: {
1666
+ /** Workflow integer ID. */
1667
+ workflow_id: number;
1668
+ };
1669
+ headers?: {
1670
+ "X-Target-Org-Id"?: string | null;
1671
+ };
1672
+ body: UpdateWorkflowRequest;
1673
+ };
1674
+ output: Record<string, unknown>;
1675
+ };
1676
+ }
1677
+
1678
+ // 75 schemas referenced above (the same as G8Contract.<Name>).
1679
+
1680
+ export interface AddGuestsRequest {
1681
+ guests: Array<string>;
1682
+ }
1683
+
1684
+ export interface AddNoteRequest {
1685
+ text: string;
1686
+ }
1687
+
1688
+ export interface ApiResponse_AppointmentHostGroup_ {
1689
+ data: AppointmentHostGroup;
1690
+ pagination?: PaginationMeta | null;
1691
+ }
1692
+
1693
+ export interface ApiResponse_AppointmentHost_ {
1694
+ data: AppointmentHost;
1695
+ pagination?: PaginationMeta | null;
1696
+ }
1697
+
1698
+ export interface ApiResponse_CsvExportPayload_ {
1699
+ data: CsvExportPayload;
1700
+ pagination?: PaginationMeta | null;
1701
+ }
1702
+
1703
+ export interface ApiResponse_SchedulingListPayload_ {
1704
+ data: SchedulingListPayload;
1705
+ pagination?: PaginationMeta | null;
1706
+ }
1707
+
1708
+ export interface ApiResponse_SchedulingPayload_ {
1709
+ data: SchedulingPayload;
1710
+ pagination?: PaginationMeta | null;
1711
+ }
1712
+
1713
+ export interface ApiResponse_list_AppointmentHostGroup__ {
1714
+ data: Array<AppointmentHostGroup>;
1715
+ pagination?: PaginationMeta | null;
1716
+ }
1717
+
1718
+ /** One person bookable on an event type. */
1719
+ export interface AppointmentHost {
1720
+ avatar_url?: string | null;
1721
+ email?: string | null;
1722
+ event_type_id?: number | null;
1723
+ /** Host group, if partitioned. */
1724
+ group_id?: string | null;
1725
+ /** True = on EVERY booking. False = one of the round-robin rotation. This is the setting that decides who actually gets booked. */
1726
+ is_fixed?: boolean | null;
1727
+ name?: string | null;
1728
+ /** Rotation priority. */
1729
+ priority?: number | null;
1730
+ /** Availability schedule this host is booked against. */
1731
+ schedule_id?: number | null;
1732
+ user_id?: number | null;
1733
+ /** Relative share of the rotation. */
1734
+ weight?: number | null;
1735
+ [key: string]: unknown;
1736
+ }
1737
+
1738
+ export interface AppointmentHostCreateRequest {
1739
+ group_id?: string | null;
1740
+ /** True = on every booking; false = one of the round-robin rotation. */
1741
+ is_fixed?: boolean;
1742
+ priority?: number | null;
1743
+ schedule_id?: number | null;
1744
+ /** User to add as a host. */
1745
+ user_id: number;
1746
+ weight?: number | null;
1747
+ }
1748
+
1749
+ /** A partition of an event type's hosts, so the rotation picks within it. */
1750
+ export interface AppointmentHostGroup {
1751
+ created_at?: string | null;
1752
+ event_type_id?: number | null;
1753
+ id?: string | null;
1754
+ name?: string | null;
1755
+ [key: string]: unknown;
1756
+ }
1757
+
1758
+ export interface AppointmentHostGroupWriteRequest {
1759
+ /** Group name. */
1760
+ name: string;
1761
+ }
1762
+
1763
+ /** Every field optional; omit one to leave it unchanged. */
1764
+ export interface AppointmentHostUpdateRequest {
1765
+ group_id?: string | null;
1766
+ is_fixed?: boolean | null;
1767
+ priority?: number | null;
1768
+ schedule_id?: number | null;
1769
+ weight?: number | null;
1770
+ }
1771
+
1772
+ /** Give one member their own bookable copy of a managed template. */
1773
+ export interface AssignManagedMemberRequest {
1774
+ /** The member's INTEGER scheduling user id - the `user_id` field of `GET /appointments/membership`. Not an email, not a PropelAuth id. */
1775
+ user_id: number;
1776
+ }
1777
+
1778
+ export interface AttendeeInput {
1779
+ email: string;
1780
+ name: string;
1781
+ phone_number?: string | null;
1782
+ time_zone?: string | null;
1783
+ }
1784
+
1785
+ export interface AvailabilityInput {
1786
+ days: Array<number>;
1787
+ end_time: string;
1788
+ start_time: string;
1789
+ }
1790
+
1791
+ export interface Body_connect_conferencing_appointments_conferencing_connect__provider__post {
1792
+ link?: string | null;
1793
+ }
1794
+
1795
+ export interface Body_set_provider_link_appointments_conferencing__provider__link_put {
1796
+ link: string;
1797
+ }
1798
+
1799
+ /** Give every active member a copy of a managed template. */
1800
+ export interface BulkAssignMembersRequest {
1801
+ /** When true, members who join the organisation LATER also get a copy automatically. A standing rule, not a one-off action. */
1802
+ include_future_joiners?: boolean;
1803
+ }
1804
+
1805
+ export interface CancelBookingRequest {
1806
+ cancel_subsequent?: boolean;
1807
+ cancellation_reason?: string | null;
1808
+ }
1809
+
1810
+ export interface ConfirmBookingRequest {
1811
+ confirmed: boolean;
1812
+ reason?: string | null;
1813
+ }
1814
+
1815
+ export interface ConnectedCalendarResponse {
1816
+ credential_id: number;
1817
+ email?: string | null;
1818
+ invalid?: boolean;
1819
+ is_valid?: boolean;
1820
+ provider: string;
1821
+ sub_calendars?: Array<SubCalendarResponse>;
1822
+ }
1823
+
1824
+ export interface ConnectedConferencingResponse {
1825
+ credential_id?: number | null;
1826
+ is_default?: boolean;
1827
+ link?: string | null;
1828
+ name: string;
1829
+ provider: string;
1830
+ }
1831
+
1832
+ export interface CreateBookingRequest {
1833
+ attendees: Array<AttendeeInput>;
1834
+ end_time?: string | null;
1835
+ event_type_id: number;
1836
+ guests?: Array<string> | null;
1837
+ language?: string;
1838
+ location?: string | null;
1839
+ metadata?: Record<string, unknown> | null;
1840
+ override_availability?: boolean;
1841
+ recurring_event_id?: string | null;
1842
+ responses?: Record<string, unknown> | null;
1843
+ selected_conferencing?: LocationItem | null;
1844
+ selected_location?: LocationItem | null;
1845
+ slot_uid?: string | null;
1846
+ start_time: string;
1847
+ }
1848
+
1849
+ export interface CreateEventTypeRequest {
1850
+ after_event_buffer?: number;
1851
+ before_event_buffer?: number;
1852
+ booking_fields?: Array<Record<string, unknown>> | null;
1853
+ default_layout?: string | null;
1854
+ description?: string | null;
1855
+ disable_cancelling?: boolean;
1856
+ disable_guests?: boolean;
1857
+ disable_rescheduling?: boolean;
1858
+ event_color?: string | null;
1859
+ event_name?: string | null;
1860
+ hidden?: boolean;
1861
+ initial_hosts?: Array<Record<string, unknown>> | null;
1862
+ layouts?: Array<string> | null;
1863
+ length: number;
1864
+ locations?: Array<Record<string, unknown>> | null;
1865
+ metadata?: Record<string, unknown> | null;
1866
+ minimum_booking_notice?: number;
1867
+ period_days?: number | null;
1868
+ period_end_date?: string | null;
1869
+ period_start_date?: string | null;
1870
+ period_type?: string;
1871
+ recurring_event?: Record<string, unknown> | null;
1872
+ requires_confirmation?: boolean;
1873
+ schedule_id?: number | null;
1874
+ scheduling_type?: string | null;
1875
+ seats_per_time_slot?: number | null;
1876
+ slot_interval?: number | null;
1877
+ slug: string;
1878
+ success_redirect_url?: string | null;
1879
+ time_zone?: string | null;
1880
+ title: string;
1881
+ use_common_schedule?: boolean | null;
1882
+ }
1883
+
1884
+ export interface CreateOutOfOfficeRequest {
1885
+ end: string;
1886
+ notes?: string | null;
1887
+ public_note?: string | null;
1888
+ reason?: string | null;
1889
+ start: string;
1890
+ time_zone?: string | null;
1891
+ to_user_id?: number | null;
1892
+ user_id?: number | null;
1893
+ }
1894
+
1895
+ export interface CreateRoutingFormRequest {
1896
+ description?: string | null;
1897
+ disabled?: boolean;
1898
+ fields?: Array<RoutingFormField>;
1899
+ name: string;
1900
+ routes?: Array<RoutingFormRouteInput>;
1901
+ }
1902
+
1903
+ /**
1904
+ * A named view over the bookings list.
1905
+ *
1906
+ * CLOSED (`extra="forbid"`), mirroring the app, whose own DTO carries the
1907
+ * same with a reviewer note saying why: `state` is written into JSONB, so an
1908
+ * unrecognised TOP-LEVEL key is a caller mistake, not a new feature.
1909
+ */
1910
+ export interface CreateSavedFilterRequest {
1911
+ description?: string | null;
1912
+ /** The filter itself. Opaque to this contract and round-tripped as-is. */
1913
+ state?: Record<string, unknown>;
1914
+ title: string;
1915
+ }
1916
+
1917
+ export interface CreateScheduleRequest {
1918
+ availability?: Array<AvailabilityInput> | null;
1919
+ is_default?: boolean;
1920
+ name: string;
1921
+ overrides?: Array<OverrideInput> | null;
1922
+ time_zone: string;
1923
+ }
1924
+
1925
+ export interface CreateWorkflowRequest {
1926
+ event_type_ids?: Array<number> | null;
1927
+ is_active_on_all?: boolean;
1928
+ name: string;
1929
+ steps: Array<WorkflowStepInput>;
1930
+ time?: number | null;
1931
+ time_unit?: ("minutes" | "hours" | "days") | null;
1932
+ trigger: "new_booking" | "before_event" | "after_event" | "booking_cancelled" | "booking_rescheduled";
1933
+ }
1934
+
1935
+ /**
1936
+ * A CSV export, carried inside the JSON envelope.
1937
+ *
1938
+ * The app streams these as `text/csv` attachments. Every other operation in
1939
+ * this contract answers with the `ApiResponse` envelope, and an SDK method
1940
+ * that sometimes returns JSON and sometimes a byte stream is a trap, so the
1941
+ * CSV text is returned as a string field instead.
1942
+ */
1943
+ export interface CsvExportPayload {
1944
+ content_type?: "text/csv";
1945
+ /** The full CSV document, header row first. */
1946
+ csv: string;
1947
+ filename: string;
1948
+ }
1949
+
1950
+ /**
1951
+ * Envelope for GET/POST conferencing default. Inner fields are all-Optional
1952
+ * (``null`` when nothing is configured), so the envelope is what carries the
1953
+ * real payload through response validation.
1954
+ */
1955
+ export interface DefaultConferencingEnvelope {
1956
+ data: DefaultConferencingResponse;
1957
+ }
1958
+
1959
+ export interface DefaultConferencingResponse {
1960
+ credential_id?: number | null;
1961
+ link?: string | null;
1962
+ provider?: string | null;
1963
+ }
1964
+
1965
+ /**
1966
+ * Envelope for GET/PUT /calendars/destination. ``data`` is ``null`` when
1967
+ * no destination calendar is configured.
1968
+ */
1969
+ export interface DestinationCalendarEnvelope {
1970
+ data?: DestinationCalendarResponse | null;
1971
+ }
1972
+
1973
+ export interface DestinationCalendarResponse {
1974
+ credential_id?: number | null;
1975
+ event_type_id?: number | null;
1976
+ external_id: string;
1977
+ id: number;
1978
+ integration: string;
1979
+ primary_email?: string | null;
1980
+ }
1981
+
1982
+ /**
1983
+ * Pull a meeting that was booked OUTSIDE graph8 into the bookings list.
1984
+ *
1985
+ * IDENTIFIERS ONLY, exactly as the app's model is - no title, times or
1986
+ * attendees. Those are re-read server-side from the caller's own calendar
1987
+ * credential; accepting them from the request would let a caller fabricate a
1988
+ * "meeting" and have it stored as fact, counted in reporting and blocking
1989
+ * real availability.
1990
+ */
1991
+ export interface ImportMeetingRequest {
1992
+ calendar_id: string;
1993
+ event_id: string;
1994
+ /** The graph8 event type to import it as. */
1995
+ event_type_id: number;
1996
+ provider: "google_calendar" | "office365_calendar";
1997
+ }
1998
+
1999
+ /** A single location option on an event type. */
2000
+ export interface LocationItem {
2001
+ address?: string | null;
2002
+ display_label?: string | null;
2003
+ kind: LocationKind;
2004
+ link?: string | null;
2005
+ phone?: string | null;
2006
+ provider?: string | null;
2007
+ public?: boolean;
2008
+ }
2009
+
2010
+ /** Rich location types for event types. */
2011
+ export type LocationKind = "in_person_host" | "in_person_attendee" | "phone_host" | "phone_attendee" | "link" | "conferencing" | "custom";
2012
+
2013
+ export interface MarkAbsentRequest {
2014
+ attendees?: Array<Record<string, unknown>> | null;
2015
+ host?: boolean | null;
2016
+ }
2017
+
2018
+ export interface OverrideInput {
2019
+ date: string;
2020
+ end_time: string;
2021
+ start_time: string;
2022
+ }
2023
+
2024
+ export interface PaginationMeta {
2025
+ /** Whether there are more pages */
2026
+ has_next: boolean;
2027
+ /** Items per page */
2028
+ limit: number;
2029
+ /** Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers. */
2030
+ next_cursor?: string | null;
2031
+ /** Current page number (1-indexed) */
2032
+ page: number;
2033
+ /** Total number of items */
2034
+ total: number;
2035
+ }
2036
+
2037
+ export interface RequestRescheduleRequest {
2038
+ reason?: string | null;
2039
+ }
2040
+
2041
+ export interface RescheduleBookingRequest {
2042
+ rescheduling_reason?: string | null;
2043
+ start_time: string;
2044
+ }
2045
+
2046
+ /**
2047
+ * Hold a slot while a booker fills in the form.
2048
+ *
2049
+ * The app types both times as bare strings and parses them with
2050
+ * `datetime.fromisoformat` inside the handler with no guard, so a malformed
2051
+ * value is an unhandled 500 there. They are validated as ISO-8601 here and
2052
+ * forwarded unchanged.
2053
+ */
2054
+ export interface ReserveSlotRequest {
2055
+ event_type_id: number;
2056
+ /** ISO-8601 end of the slot being held. */
2057
+ slot_end: string;
2058
+ /** ISO-8601 start of the slot being held. */
2059
+ slot_start: string;
2060
+ }
2061
+
2062
+ export interface RoutingFormCondition {
2063
+ field_id: string;
2064
+ operator: "equals" | "not_equals" | "contains" | "not_contains" | "is_empty" | "is_not_empty" | "greater_than" | "less_than" | "select_equals" | "select_not_equals";
2065
+ value?: string;
2066
+ }
2067
+
2068
+ export interface RoutingFormField {
2069
+ id?: string | null;
2070
+ identifier?: string | null;
2071
+ label: string;
2072
+ options?: Array<RoutingFormFieldOption>;
2073
+ placeholder?: string | null;
2074
+ required?: boolean;
2075
+ type?: "text" | "email" | "phone" | "number" | "textarea" | "select" | "multiselect" | "radio" | "checkbox";
2076
+ }
2077
+
2078
+ export interface RoutingFormFieldOption {
2079
+ event_type_id?: number | null;
2080
+ label: string;
2081
+ value: string;
2082
+ }
2083
+
2084
+ export interface RoutingFormRouteInput {
2085
+ action_type?: "redirect_event_type" | "redirect_url" | "show_message";
2086
+ action_value?: string;
2087
+ conditions?: Array<RoutingFormCondition>;
2088
+ is_fallback?: boolean;
2089
+ position?: number;
2090
+ }
2091
+
2092
+ /**
2093
+ * An open envelope for a LIST result, so a bare list keeps its shape.
2094
+ *
2095
+ * A named list (`{"events": [...]}`) keeps its own key AND gains `items`, so
2096
+ * a generic client can page any of these the same way.
2097
+ */
2098
+ export interface SchedulingListPayload {
2099
+ items?: Array<unknown>;
2100
+ [key: string]: unknown;
2101
+ }
2102
+
2103
+ /**
2104
+ * An open envelope for a filter, a setting, an embed config or a slot grid.
2105
+ *
2106
+ * Open because org settings gain branding fields as the booking page does
2107
+ * and the embed config gains styling keys as the widget does. Closing it
2108
+ * would drop a field the app had already started returning.
2109
+ */
2110
+ export type SchedulingPayload = Record<string, unknown>;
2111
+
2112
+ export interface SelectCalendarRequest {
2113
+ credential_id: number;
2114
+ external_id: string;
2115
+ integration: string;
2116
+ }
2117
+
2118
+ /** One calendar to consult when checking for conflicts. */
2119
+ export interface SelectedCalendarEntry {
2120
+ credential_id: number;
2121
+ enabled?: boolean;
2122
+ external_id: string;
2123
+ integration: string;
2124
+ }
2125
+
2126
+ /** Envelope for POST /calendars/selected. */
2127
+ export interface SelectedCalendarEnvelope {
2128
+ data: SelectedCalendarResponse;
2129
+ }
2130
+
2131
+ export interface SelectedCalendarResponse {
2132
+ credential_id?: number | null;
2133
+ external_id: string;
2134
+ id: string;
2135
+ integration: string;
2136
+ }
2137
+
2138
+ export interface SetDefaultConferencingRequest {
2139
+ credential_id?: number | null;
2140
+ link?: string | null;
2141
+ }
2142
+
2143
+ export interface SetDestinationCalendarRequest {
2144
+ credential_id?: number | null;
2145
+ event_type_id?: number | null;
2146
+ external_id: string;
2147
+ integration: string;
2148
+ }
2149
+
2150
+ /**
2151
+ * Which fields a managed template owns on behalf of every child copy.
2152
+ *
2153
+ * Closed to the app's own vocabulary: the app rejects anything else inside
2154
+ * the handler, so a free string would fail there instead of as a 422 here
2155
+ * that names the valid fields.
2156
+ */
2157
+ export interface SetLockedFieldsRequest {
2158
+ /** Fields locked on the managed template. An empty list unlocks everything. */
2159
+ locked_fields?: Array<"after_event_buffer" | "before_event_buffer" | "booking_fields" | "description" | "disable_cancelling" | "disable_guests" | "disable_rescheduling" | "event_name" | "length" | "locations" | "minimum_booking_notice" | "requires_confirmation" | "slot_interval" | "title">;
2160
+ }
2161
+
2162
+ export interface SubCalendarResponse {
2163
+ external_id: string;
2164
+ is_primary?: boolean;
2165
+ is_selected?: boolean;
2166
+ name: string;
2167
+ read_only?: boolean;
2168
+ }
2169
+
2170
+ export interface ToggleWorkflowRequest {
2171
+ active: boolean;
2172
+ }
2173
+
2174
+ export interface UpdateAvailabilityRequest {
2175
+ availability?: Array<AvailabilityInput> | null;
2176
+ overrides?: Array<OverrideInput> | null;
2177
+ }
2178
+
2179
+ /** Where bookings for ONE event type are written. */
2180
+ export interface UpdateDestinationCalendarRequest {
2181
+ /** The connected-calendar credential to write through. */
2182
+ credential_id: number;
2183
+ /** The calendar's id in the provider. */
2184
+ external_id: string;
2185
+ /** Calendar integration key, e.g. `google_calendar`. */
2186
+ integration: string;
2187
+ primary_email?: string | null;
2188
+ /** Send invitations from the calendar's own address rather than the host's. */
2189
+ use_calendar_email?: boolean;
2190
+ }
2191
+
2192
+ /** How the embedded booking widget looks. Every field is optional. */
2193
+ export interface UpdateEmbedConfigRequest {
2194
+ brand_color?: string | null;
2195
+ brand_color_dark?: string | null;
2196
+ button_position?: string | null;
2197
+ button_text?: string | null;
2198
+ button_text_color?: string | null;
2199
+ hide_event_type_details?: boolean | null;
2200
+ layout?: string | null;
2201
+ theme?: string | null;
2202
+ }
2203
+
2204
+ export interface UpdateEventTypeRequest {
2205
+ after_event_buffer?: number | null;
2206
+ before_event_buffer?: number | null;
2207
+ booking_fields?: Array<Record<string, unknown>> | null;
2208
+ default_layout?: string | null;
2209
+ description?: string | null;
2210
+ disable_cancelling?: boolean | null;
2211
+ disable_guests?: boolean | null;
2212
+ disable_rescheduling?: boolean | null;
2213
+ event_color?: string | null;
2214
+ event_name?: string | null;
2215
+ hidden?: boolean | null;
2216
+ layouts?: Array<string> | null;
2217
+ length?: number | null;
2218
+ locations?: Array<Record<string, unknown>> | null;
2219
+ metadata?: Record<string, unknown> | null;
2220
+ minimum_booking_notice?: number | null;
2221
+ period_days?: number | null;
2222
+ period_end_date?: string | null;
2223
+ period_start_date?: string | null;
2224
+ period_type?: string | null;
2225
+ recurring_event?: Record<string, unknown> | null;
2226
+ requires_confirmation?: boolean | null;
2227
+ schedule_id?: number | null;
2228
+ scheduling_type?: string | null;
2229
+ seats_per_time_slot?: number | null;
2230
+ slot_interval?: number | null;
2231
+ slug?: string | null;
2232
+ success_redirect_url?: string | null;
2233
+ time_zone?: string | null;
2234
+ title?: string | null;
2235
+ use_common_schedule?: boolean | null;
2236
+ }
2237
+
2238
+ export interface UpdateLocationRequest {
2239
+ location: string;
2240
+ }
2241
+
2242
+ /** A member's SCHEDULING role - not their graph8 organisation role. */
2243
+ export interface UpdateMemberRoleRequest {
2244
+ role: "ADMIN" | "MEMBER";
2245
+ }
2246
+
2247
+ /**
2248
+ * Branding for the public booking page.
2249
+ *
2250
+ * CLOSED, mirroring the app: these land in a JSONB configuration column and
2251
+ * the app forbids extra keys so nothing can be smuggled into it. `logo_url`
2252
+ * is an `HttpUrl` because the app's is - typed `str` here it would pass this
2253
+ * layer and then fail inside the proxy as a 500.
2254
+ */
2255
+ export interface UpdateOrgSettingsRequest {
2256
+ booking_page_theme?: ("light" | "dark" | "auto") | null;
2257
+ /** Six-digit hex including the leading `#`, e.g. `#1a2b3c`. */
2258
+ brand_color?: string | null;
2259
+ /** Remove the graph8 mark from the booking page. */
2260
+ hide_branding?: boolean | null;
2261
+ logo_url?: string | null;
2262
+ }
2263
+
2264
+ export interface UpdateOutOfOfficeRequest {
2265
+ end?: string | null;
2266
+ notes?: string | null;
2267
+ public_note?: string | null;
2268
+ reason?: string | null;
2269
+ start?: string | null;
2270
+ time_zone?: string | null;
2271
+ to_user_id?: number | null;
2272
+ }
2273
+
2274
+ export interface UpdateRoutingFormRequest {
2275
+ description?: string | null;
2276
+ disabled?: boolean | null;
2277
+ fields?: Array<RoutingFormField> | null;
2278
+ name?: string | null;
2279
+ routes?: Array<RoutingFormRouteInput> | null;
2280
+ slug?: string | null;
2281
+ }
2282
+
2283
+ /**
2284
+ * Change a saved view.
2285
+ *
2286
+ * `null` means LEAVE ALONE for every field except `description`, where it is
2287
+ * a legitimate clear. The app draws that distinction and this mirrors it.
2288
+ */
2289
+ export interface UpdateSavedFilterRequest {
2290
+ /** Null CLEARS this one, unlike the others. */
2291
+ description?: string | null;
2292
+ state?: Record<string, unknown> | null;
2293
+ title?: string | null;
2294
+ }
2295
+
2296
+ /** The key owner's own scheduling preferences. */
2297
+ export interface UpdateScheduleProfileRequest {
2298
+ /** Minutes held either side of a booking. */
2299
+ buffer_time?: number | null;
2300
+ default_schedule_id?: number | null;
2301
+ /** Hide the caller's external calendars from teammates' org-wide overlay. */
2302
+ hide_calendar_from_org?: boolean | null;
2303
+ /** 12 or 24. */
2304
+ time_format?: number | null;
2305
+ /** IANA timezone, e.g. `Europe/London`. */
2306
+ time_zone?: string | null;
2307
+ /** Personal booking-URL slug. GLOBALLY unique across graph8 and claimed atomically, so a rename can lose the race and come back as a conflict. */
2308
+ username?: string | null;
2309
+ week_start?: string | null;
2310
+ }
2311
+
2312
+ export interface UpdateScheduleRequest {
2313
+ availability?: Array<AvailabilityInput> | null;
2314
+ is_default?: boolean | null;
2315
+ name?: string | null;
2316
+ overrides?: Array<OverrideInput> | null;
2317
+ time_zone?: string | null;
2318
+ }
2319
+
2320
+ /**
2321
+ * Which calendars are checked for conflicts on ONE event type.
2322
+ *
2323
+ * `scope` is a bare `str` in the app with its two values in a comment. It is
2324
+ * closed here, so a typo is a 422 rather than whatever the handler does with
2325
+ * an unknown scope.
2326
+ */
2327
+ export interface UpdateSelectedCalendarsRequest {
2328
+ entries?: Array<SelectedCalendarEntry>;
2329
+ scope: "account" | "event_type";
2330
+ }
2331
+
2332
+ export interface UpdateWorkflowRequest {
2333
+ event_type_ids?: Array<number> | null;
2334
+ is_active_on_all?: boolean | null;
2335
+ name?: string | null;
2336
+ steps?: Array<WorkflowStepInput> | null;
2337
+ time?: number | null;
2338
+ time_unit?: ("minutes" | "hours" | "days") | null;
2339
+ trigger?: ("new_booking" | "before_event" | "after_event" | "booking_cancelled" | "booking_rescheduled") | null;
2340
+ }
2341
+
2342
+ export interface WorkflowStepInput {
2343
+ action: "email_host" | "email_attendee" | "email_address";
2344
+ email_subject?: string | null;
2345
+ include_calendar_event?: boolean;
2346
+ reminder_body?: string | null;
2347
+ send_to?: string | null;
2348
+ sender?: string | null;
2349
+ template?: "reminder" | "custom" | "cancelled" | "rescheduled" | "completed" | "rating";
2350
+ }
2351
+
2352
+ /**
2353
+ * Associate a booking with a sequencer sequence (or detach when null).
2354
+ *
2355
+ * `sequence_id` is the `seqsequences.id` UUID. Persisted under
2356
+ * `booking.metadata_['campaignId']` — same key the public booking flow
2357
+ * populates from the `?campaignId=` URL param at create time.
2358
+ */
2359
+ export interface appointments__domain__entities__UpdateSequenceRequest {
2360
+ sequence_id?: string | null;
2361
+ }