@savvycal/appointments-core 0.14.0 → 1.1.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.
package/dist/index.d.ts CHANGED
@@ -8,6 +8,30 @@ import { HttpMethod, OperationRequestBodyContent } from 'openapi-typescript-help
8
8
  */
9
9
 
10
10
  interface paths {
11
+ "/v1/client_fields": {
12
+ parameters: {
13
+ query?: never;
14
+ header?: never;
15
+ path?: never;
16
+ cookie?: never;
17
+ };
18
+ /**
19
+ * List client fields
20
+ * @description List all client fields for an account
21
+ */
22
+ get: operations["listClientFields"];
23
+ put?: never;
24
+ /**
25
+ * Create client field
26
+ * @description Create a new client field in the account.
27
+ */
28
+ post: operations["createClientField"];
29
+ delete?: never;
30
+ options?: never;
31
+ head?: never;
32
+ patch?: never;
33
+ trace?: never;
34
+ };
11
35
  "/v1/appointments/{appointment_id}": {
12
36
  parameters: {
13
37
  query?: never;
@@ -121,6 +145,30 @@ interface paths {
121
145
  patch?: never;
122
146
  trace?: never;
123
147
  };
148
+ "/v1/services/{service_id}/forms": {
149
+ parameters: {
150
+ query?: never;
151
+ header?: never;
152
+ path?: never;
153
+ cookie?: never;
154
+ };
155
+ /**
156
+ * List service forms
157
+ * @description List all forms attached to a service.
158
+ */
159
+ get: operations["listServiceForms"];
160
+ put?: never;
161
+ /**
162
+ * Attach form to service
163
+ * @description Attach an existing form to a service.
164
+ */
165
+ post: operations["attachServiceForm"];
166
+ delete?: never;
167
+ options?: never;
168
+ head?: never;
169
+ patch?: never;
170
+ trace?: never;
171
+ };
124
172
  "/v1/booking_intents/{booking_intent_id}/complete": {
125
173
  parameters: {
126
174
  query?: never;
@@ -383,6 +431,26 @@ interface paths {
383
431
  patch?: never;
384
432
  trace?: never;
385
433
  };
434
+ "/v1/service_forms/{service_form_id}": {
435
+ parameters: {
436
+ query?: never;
437
+ header?: never;
438
+ path?: never;
439
+ cookie?: never;
440
+ };
441
+ get?: never;
442
+ put?: never;
443
+ post?: never;
444
+ /**
445
+ * Detach form from service
446
+ * @description Detach a form from a service.
447
+ */
448
+ delete: operations["detachServiceForm"];
449
+ options?: never;
450
+ head?: never;
451
+ patch?: never;
452
+ trace?: never;
453
+ };
386
454
  "/v1/accounts/{account_id}": {
387
455
  parameters: {
388
456
  query?: never;
@@ -455,6 +523,34 @@ interface paths {
455
523
  patch?: never;
456
524
  trace?: never;
457
525
  };
526
+ "/v1/forms/{form_id}": {
527
+ parameters: {
528
+ query?: never;
529
+ header?: never;
530
+ path?: never;
531
+ cookie?: never;
532
+ };
533
+ /**
534
+ * Get form
535
+ * @description Get a single form by ID.
536
+ */
537
+ get: operations["getForm"];
538
+ put?: never;
539
+ post?: never;
540
+ /**
541
+ * Delete form
542
+ * @description Delete an existing form.
543
+ */
544
+ delete: operations["deleteForm"];
545
+ options?: never;
546
+ head?: never;
547
+ /**
548
+ * Update form
549
+ * @description Update an existing form.
550
+ */
551
+ patch: operations["updateForm"];
552
+ trace?: never;
553
+ };
458
554
  "/v1/service_providers/{service_provider_id}": {
459
555
  parameters: {
460
556
  query?: never;
@@ -523,6 +619,30 @@ interface paths {
523
619
  patch: operations["updateCancellationReason"];
524
620
  trace?: never;
525
621
  };
622
+ "/v1/forms": {
623
+ parameters: {
624
+ query?: never;
625
+ header?: never;
626
+ path?: never;
627
+ cookie?: never;
628
+ };
629
+ /**
630
+ * List forms
631
+ * @description List all forms for an account.
632
+ */
633
+ get: operations["listForms"];
634
+ put?: never;
635
+ /**
636
+ * Create form
637
+ * @description Create a new form in the account.
638
+ */
639
+ post: operations["createForm"];
640
+ delete?: never;
641
+ options?: never;
642
+ head?: never;
643
+ patch?: never;
644
+ trace?: never;
645
+ };
526
646
  "/v1/appointments/{appointment_id}/confirm": {
527
647
  parameters: {
528
648
  query?: never;
@@ -851,6 +971,26 @@ interface paths {
851
971
  patch?: never;
852
972
  trace?: never;
853
973
  };
974
+ "/v1/services/{service_id}/forms/sort": {
975
+ parameters: {
976
+ query?: never;
977
+ header?: never;
978
+ path?: never;
979
+ cookie?: never;
980
+ };
981
+ get?: never;
982
+ put?: never;
983
+ /**
984
+ * Sort service forms
985
+ * @description Reorder forms attached to a service.
986
+ */
987
+ post: operations["sortServiceForms"];
988
+ delete?: never;
989
+ options?: never;
990
+ head?: never;
991
+ patch?: never;
992
+ trace?: never;
993
+ };
854
994
  "/v1/account": {
855
995
  parameters: {
856
996
  query?: never;
@@ -1026,6 +1166,34 @@ interface paths {
1026
1166
  patch: operations["updateBlock"];
1027
1167
  trace?: never;
1028
1168
  };
1169
+ "/v1/client_fields/{client_field_id}": {
1170
+ parameters: {
1171
+ query?: never;
1172
+ header?: never;
1173
+ path?: never;
1174
+ cookie?: never;
1175
+ };
1176
+ /**
1177
+ * Get client field
1178
+ * @description Get a single client field by ID.
1179
+ */
1180
+ get: operations["getClientField"];
1181
+ put?: never;
1182
+ post?: never;
1183
+ /**
1184
+ * Delete client field
1185
+ * @description Delete an existing client field.
1186
+ */
1187
+ delete: operations["deleteClientField"];
1188
+ options?: never;
1189
+ head?: never;
1190
+ /**
1191
+ * Update client field
1192
+ * @description Update an existing client field.
1193
+ */
1194
+ patch: operations["updateClientField"];
1195
+ trace?: never;
1196
+ };
1029
1197
  "/v1/services/{service_id}/slots": {
1030
1198
  parameters: {
1031
1199
  query?: never;
@@ -1186,6 +1354,37 @@ interface components {
1186
1354
  /** @description Weekly rules for the schedule. */
1187
1355
  weekly_rules?: components["schemas"]["WeeklyRule"][];
1188
1356
  };
1357
+ /**
1358
+ * FormResponse
1359
+ * @description Response schema for a single form
1360
+ * @example {
1361
+ * "data": {
1362
+ * "created_at": "2025-02-17T17:49:19Z",
1363
+ * "field_count": 1,
1364
+ * "fields": [
1365
+ * {
1366
+ * "description": null,
1367
+ * "id": "ff_abc123",
1368
+ * "key": "full_name",
1369
+ * "label": "Full Name",
1370
+ * "must_be_true": false,
1371
+ * "options": null,
1372
+ * "position": 0,
1373
+ * "required": true,
1374
+ * "sensitive": false,
1375
+ * "type": "short_text"
1376
+ * }
1377
+ * ],
1378
+ * "id": "frm_d025a96ac0c6",
1379
+ * "internal_name": "Intake Form",
1380
+ * "object": "form",
1381
+ * "updated_at": "2025-02-17T17:49:19Z"
1382
+ * }
1383
+ * }
1384
+ */
1385
+ FormResponse: {
1386
+ data: components["schemas"]["FormDetail"];
1387
+ };
1189
1388
  /**
1190
1389
  * ConfirmationEvent
1191
1390
  * @description This is an object representing when an appointment was confirmed.
@@ -1453,9 +1652,6 @@ interface components {
1453
1652
  * "reference_id": "ext_12345",
1454
1653
  * "time_zone": "America/Chicago"
1455
1654
  * },
1456
- * "client_locale": "en-US",
1457
- * "client_reference_id": "ext_12345",
1458
- * "client_time_zone": "America/Chicago",
1459
1655
  * "confirmation_events": [
1460
1656
  * {
1461
1657
  * "actor": null,
@@ -1488,12 +1684,6 @@ interface components {
1488
1684
  * "unix_ts": 1736464800,
1489
1685
  * "utc": "2025-03-01T04:00:00Z"
1490
1686
  * },
1491
- * "fields": {
1492
- * "email": "jane.smith@example.com",
1493
- * "first_name": "Jane",
1494
- * "last_name": "Smith",
1495
- * "phone": "+15551234567"
1496
- * },
1497
1687
  * "id": "appt_a1b2c3d4e5f6",
1498
1688
  * "object": "appointment",
1499
1689
  * "provider": {
@@ -1573,6 +1763,17 @@ interface components {
1573
1763
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1574
1764
  * "created_at": "2025-02-17T17:49:19Z",
1575
1765
  * "duration": "PT1H30M",
1766
+ * "forms": [
1767
+ * {
1768
+ * "created_at": "2025-02-17T17:49:19Z",
1769
+ * "form_id": "frm_d025a96ac0c6",
1770
+ * "form_name": "Intake Form",
1771
+ * "id": "sf_d025a96ac0c6",
1772
+ * "object": "service_form",
1773
+ * "sort_order": 1,
1774
+ * "updated_at": "2025-02-17T17:49:19Z"
1775
+ * }
1776
+ * ],
1576
1777
  * "id": "srv_d025a96ac0c6",
1577
1778
  * "internal_name": null,
1578
1779
  * "metadata": {
@@ -1678,6 +1879,47 @@ interface components {
1678
1879
  */
1679
1880
  type: "appointment.rescheduled";
1680
1881
  };
1882
+ /**
1883
+ * FormField
1884
+ * @description A field within a form.
1885
+ * @example {
1886
+ * "description": null,
1887
+ * "id": "ff_abc123",
1888
+ * "key": "full_name",
1889
+ * "label": "Full Name",
1890
+ * "must_be_true": false,
1891
+ * "options": null,
1892
+ * "position": 0,
1893
+ * "required": true,
1894
+ * "sensitive": false,
1895
+ * "type": "short_text"
1896
+ * }
1897
+ */
1898
+ FormField: {
1899
+ /** @description Optional help text displayed below the field. */
1900
+ description?: string | null;
1901
+ /** @description Unique identifier for the field. */
1902
+ id?: string;
1903
+ /** @description Machine-readable key for the field. Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. */
1904
+ key: string;
1905
+ /** @description Display label for the field. */
1906
+ label: string;
1907
+ /** @description For boolean fields, whether the value must be true (e.g., consent checkboxes). */
1908
+ must_be_true?: boolean;
1909
+ /** @description Options configuration for choice-type fields. */
1910
+ options?: (components["schemas"]["FieldOptions"] | (string | null)) | null;
1911
+ /** @description Display position of the field within the form. */
1912
+ position: number;
1913
+ /** @description Whether the field is required. */
1914
+ required?: boolean;
1915
+ /** @description Whether the field contains sensitive data. */
1916
+ sensitive?: boolean;
1917
+ /**
1918
+ * @description The field type.
1919
+ * @enum {string}
1920
+ */
1921
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
1922
+ };
1681
1923
  /**
1682
1924
  * ForbiddenResponse
1683
1925
  * @description Response schema for forbidden requests
@@ -1830,6 +2072,20 @@ interface components {
1830
2072
  roles: components["schemas"]["Role"][];
1831
2073
  user: components["schemas"]["User"];
1832
2074
  };
2075
+ /**
2076
+ * ClientFieldChoice
2077
+ * @description A single choice option within a client field.
2078
+ * @example {
2079
+ * "id": "opt_a1b2c3d4e5f6",
2080
+ * "label": "Option A"
2081
+ * }
2082
+ */
2083
+ ClientFieldChoice: {
2084
+ /** @description Unique identifier for the choice. */
2085
+ id?: string;
2086
+ /** @description The display label for the choice. */
2087
+ label: string;
2088
+ };
1833
2089
  /**
1834
2090
  * UpdateBlockRequest
1835
2091
  * @description Request schema for updating a block.
@@ -1919,6 +2175,7 @@ interface components {
1919
2175
  * "unix_ts": 1771947000,
1920
2176
  * "utc": "2026-02-23T15:30:00Z"
1921
2177
  * },
2178
+ * "errors": [],
1922
2179
  * "hold_duration": "PT10M",
1923
2180
  * "hold_enabled": true,
1924
2181
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -1973,6 +2230,17 @@ interface components {
1973
2230
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1974
2231
  * "created_at": "2025-02-17T17:49:19Z",
1975
2232
  * "duration": "PT1H30M",
2233
+ * "forms": [
2234
+ * {
2235
+ * "created_at": "2025-02-17T17:49:19Z",
2236
+ * "form_id": "frm_d025a96ac0c6",
2237
+ * "form_name": "Intake Form",
2238
+ * "id": "sf_d025a96ac0c6",
2239
+ * "object": "service_form",
2240
+ * "sort_order": 1,
2241
+ * "updated_at": "2025-02-17T17:49:19Z"
2242
+ * }
2243
+ * ],
1976
2244
  * "id": "srv_d025a96ac0c6",
1977
2245
  * "internal_name": null,
1978
2246
  * "metadata": {
@@ -2025,6 +2293,7 @@ interface components {
2025
2293
  * "utc": "2026-02-23T15:00:00Z"
2026
2294
  * },
2027
2295
  * "status": "slot_selected",
2296
+ * "submissions": [],
2028
2297
  * "updated_at": "2026-02-22T10:00:00Z"
2029
2298
  * },
2030
2299
  * "type": "booking_intent.completed"
@@ -2038,6 +2307,22 @@ interface components {
2038
2307
  */
2039
2308
  type: "booking_intent.completed";
2040
2309
  };
2310
+ /**
2311
+ * UpdateClientFieldRequest
2312
+ * @description Request schema for updating a client field
2313
+ * @example {
2314
+ * "label": "Updated Label"
2315
+ * }
2316
+ */
2317
+ UpdateClientFieldRequest: {
2318
+ /** @description An optional description of the field. */
2319
+ description?: string | null;
2320
+ /** @description The human-readable label for the field. */
2321
+ label?: string;
2322
+ options?: components["schemas"]["ClientFieldOptions"];
2323
+ /** @description Whether the field contains sensitive data. */
2324
+ sensitive?: boolean;
2325
+ };
2041
2326
  /**
2042
2327
  * AccountResponse
2043
2328
  * @description Response schema for a single account
@@ -2054,6 +2339,19 @@ interface components {
2054
2339
  AccountResponse: {
2055
2340
  data?: components["schemas"]["Account"];
2056
2341
  };
2342
+ /**
2343
+ * UpdateFormRequest
2344
+ * @description Request schema for updating a form.
2345
+ * @example {
2346
+ * "internal_name": "Updated Intake Form"
2347
+ * }
2348
+ */
2349
+ UpdateFormRequest: {
2350
+ /** @description The fields in the form. */
2351
+ fields?: components["schemas"]["FormFieldInput"][];
2352
+ /** @description The name of the form. */
2353
+ internal_name?: string;
2354
+ };
2057
2355
  /**
2058
2356
  * UpdateConnectedAccountRequest
2059
2357
  * @description Request schema for updating a connected account
@@ -2097,6 +2395,10 @@ interface components {
2097
2395
  /** @description Progressive client data to collect during the booking flow. */
2098
2396
  client_data?: {
2099
2397
  email?: string | null;
2398
+ /** @description A map of custom field key-value pairs. */
2399
+ fields?: {
2400
+ [key: string]: unknown;
2401
+ } | null;
2100
2402
  first_name?: string | null;
2101
2403
  last_name?: string | null;
2102
2404
  locale?: string | null;
@@ -2115,7 +2417,7 @@ interface components {
2115
2417
  hold_duration?: string | null;
2116
2418
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy. */
2117
2419
  hold_enabled?: boolean | null;
2118
- /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. */
2420
+ /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. */
2119
2421
  locked_fields?: string[] | null;
2120
2422
  /** @description Custom metadata key-value pairs. */
2121
2423
  metadata?: {
@@ -2135,6 +2437,8 @@ interface components {
2135
2437
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2136
2438
  */
2137
2439
  start_at?: string | null;
2440
+ /** @description Form submissions to attach to this booking intent. Each entry contains a form_id and responses map. */
2441
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
2138
2442
  /** @description The local time zone for the slot (IANA format). */
2139
2443
  time_zone?: string | null;
2140
2444
  };
@@ -2164,6 +2468,7 @@ interface components {
2164
2468
  * "unix_ts": 1771947000,
2165
2469
  * "utc": "2026-02-23T15:30:00Z"
2166
2470
  * },
2471
+ * "errors": [],
2167
2472
  * "hold_duration": "PT10M",
2168
2473
  * "hold_enabled": true,
2169
2474
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -2218,6 +2523,17 @@ interface components {
2218
2523
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2219
2524
  * "created_at": "2025-02-17T17:49:19Z",
2220
2525
  * "duration": "PT1H30M",
2526
+ * "forms": [
2527
+ * {
2528
+ * "created_at": "2025-02-17T17:49:19Z",
2529
+ * "form_id": "frm_d025a96ac0c6",
2530
+ * "form_name": "Intake Form",
2531
+ * "id": "sf_d025a96ac0c6",
2532
+ * "object": "service_form",
2533
+ * "sort_order": 1,
2534
+ * "updated_at": "2025-02-17T17:49:19Z"
2535
+ * }
2536
+ * ],
2221
2537
  * "id": "srv_d025a96ac0c6",
2222
2538
  * "internal_name": null,
2223
2539
  * "metadata": {
@@ -2270,6 +2586,7 @@ interface components {
2270
2586
  * "utc": "2026-02-23T15:00:00Z"
2271
2587
  * },
2272
2588
  * "status": "slot_selected",
2589
+ * "submissions": [],
2273
2590
  * "updated_at": "2026-02-22T10:00:00Z"
2274
2591
  * },
2275
2592
  * "type": "booking_intent.abandoned"
@@ -2413,6 +2730,46 @@ interface components {
2413
2730
  /** @description List of role IDs to assign to the user (if `add_user` is true). */
2414
2731
  role_ids?: string[];
2415
2732
  };
2733
+ /**
2734
+ * FormFieldInput
2735
+ * @description A field within a form.
2736
+ * @example {
2737
+ * "description": null,
2738
+ * "key": "full_name",
2739
+ * "label": "Full Name",
2740
+ * "must_be_true": false,
2741
+ * "options": null,
2742
+ * "position": 0,
2743
+ * "required": true,
2744
+ * "sensitive": false,
2745
+ * "type": "short_text"
2746
+ * }
2747
+ */
2748
+ FormFieldInput: {
2749
+ /** @description Optional help text displayed below the field. */
2750
+ description?: string | null;
2751
+ /** @description Unique identifier for the field. Optional on create; include to reference an existing field on update. */
2752
+ id?: string;
2753
+ /** @description Machine-readable key for the field. Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. */
2754
+ key: string;
2755
+ /** @description Display label for the field. */
2756
+ label: string;
2757
+ /** @description For boolean fields, whether the value must be true (e.g., consent checkboxes). */
2758
+ must_be_true?: boolean;
2759
+ /** @description Options configuration for choice-type fields. */
2760
+ options?: (components["schemas"]["FieldOptionsInput"] | (string | null)) | null;
2761
+ /** @description Display position of the field within the form. */
2762
+ position: number;
2763
+ /** @description Whether the field is required. */
2764
+ required?: boolean;
2765
+ /** @description Whether the field contains sensitive data. */
2766
+ sensitive?: boolean;
2767
+ /**
2768
+ * @description The field type.
2769
+ * @enum {string}
2770
+ */
2771
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
2772
+ };
2416
2773
  /**
2417
2774
  * ServiceProvider
2418
2775
  * @description A service provider
@@ -2478,6 +2835,17 @@ interface components {
2478
2835
  /** @description Total number of pages */
2479
2836
  total_pages: number;
2480
2837
  };
2838
+ /**
2839
+ * AttachServiceFormRequest
2840
+ * @description Request schema for attaching a form to a service.
2841
+ * @example {
2842
+ * "form_id": "frm_d025a96ac0c6"
2843
+ * }
2844
+ */
2845
+ AttachServiceFormRequest: {
2846
+ /** @description The ID of the form to attach. */
2847
+ form_id: string;
2848
+ };
2481
2849
  /**
2482
2850
  * ServiceResponse
2483
2851
  * @description Response schema for a service
@@ -2510,6 +2878,17 @@ interface components {
2510
2878
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2511
2879
  * "created_at": "2025-02-17T17:49:19Z",
2512
2880
  * "duration": "PT1H30M",
2881
+ * "forms": [
2882
+ * {
2883
+ * "created_at": "2025-02-17T17:49:19Z",
2884
+ * "form_id": "frm_d025a96ac0c6",
2885
+ * "form_name": "Intake Form",
2886
+ * "id": "sf_d025a96ac0c6",
2887
+ * "object": "service_form",
2888
+ * "sort_order": 1,
2889
+ * "updated_at": "2025-02-17T17:49:19Z"
2890
+ * }
2891
+ * ],
2513
2892
  * "id": "srv_d025a96ac0c6",
2514
2893
  * "internal_name": null,
2515
2894
  * "metadata": {
@@ -2559,6 +2938,19 @@ interface components {
2559
2938
  ServiceResponse: {
2560
2939
  data: components["schemas"]["Service"];
2561
2940
  };
2941
+ /**
2942
+ * FieldChoiceInput
2943
+ * @description A choice option for a select, radio, or checkbox field. The id is optional on input; the server generates one if omitted.
2944
+ * @example {
2945
+ * "label": "Option A"
2946
+ * }
2947
+ */
2948
+ FieldChoiceInput: {
2949
+ /** @description Unique identifier for the choice. Optional on create; include to reference an existing choice on update. */
2950
+ id?: string;
2951
+ /** @description Display label for the choice. */
2952
+ label: string;
2953
+ };
2562
2954
  /**
2563
2955
  * BookingIntentUpdatedEventData
2564
2956
  * @description This is an object representing data for the booking intent updated event.
@@ -2585,6 +2977,7 @@ interface components {
2585
2977
  * "unix_ts": 1771947000,
2586
2978
  * "utc": "2026-02-23T15:30:00Z"
2587
2979
  * },
2980
+ * "errors": [],
2588
2981
  * "hold_duration": "PT10M",
2589
2982
  * "hold_enabled": true,
2590
2983
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -2639,6 +3032,17 @@ interface components {
2639
3032
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2640
3033
  * "created_at": "2025-02-17T17:49:19Z",
2641
3034
  * "duration": "PT1H30M",
3035
+ * "forms": [
3036
+ * {
3037
+ * "created_at": "2025-02-17T17:49:19Z",
3038
+ * "form_id": "frm_d025a96ac0c6",
3039
+ * "form_name": "Intake Form",
3040
+ * "id": "sf_d025a96ac0c6",
3041
+ * "object": "service_form",
3042
+ * "sort_order": 1,
3043
+ * "updated_at": "2025-02-17T17:49:19Z"
3044
+ * }
3045
+ * ],
2642
3046
  * "id": "srv_d025a96ac0c6",
2643
3047
  * "internal_name": null,
2644
3048
  * "metadata": {
@@ -2691,6 +3095,7 @@ interface components {
2691
3095
  * "utc": "2026-02-23T15:00:00Z"
2692
3096
  * },
2693
3097
  * "status": "slot_selected",
3098
+ * "submissions": [],
2694
3099
  * "updated_at": "2026-02-22T10:00:00Z"
2695
3100
  * },
2696
3101
  * "type": "booking_intent.updated"
@@ -2772,6 +3177,25 @@ interface components {
2772
3177
  /** @enum {string} */
2773
3178
  source: "client_ui" | "dashboard" | "api";
2774
3179
  };
3180
+ /**
3181
+ * ClientFieldOptions
3182
+ * @description Options for choice-type client fields.
3183
+ * @example {
3184
+ * "allow_other": false,
3185
+ * "choices": [
3186
+ * {
3187
+ * "id": "opt_a1b2c3d4e5f6",
3188
+ * "label": "Option A"
3189
+ * }
3190
+ * ]
3191
+ * }
3192
+ */
3193
+ ClientFieldOptions: {
3194
+ /** @description Whether to allow a free-text "other" option. */
3195
+ allow_other?: boolean;
3196
+ /** @description The list of choices. */
3197
+ choices?: components["schemas"]["ClientFieldChoice"][];
3198
+ };
2775
3199
  /**
2776
3200
  * CreateAccountUserRequest
2777
3201
  * @description Request schema for creating a user in an account
@@ -2871,6 +3295,10 @@ interface components {
2871
3295
  /** @description Progressive client data. Provided fields are merged with existing values. */
2872
3296
  client_data?: {
2873
3297
  email?: string | null;
3298
+ /** @description A map of custom field key-value pairs. */
3299
+ fields?: {
3300
+ [key: string]: unknown;
3301
+ } | null;
2874
3302
  first_name?: string | null;
2875
3303
  last_name?: string | null;
2876
3304
  locale?: string | null;
@@ -2898,9 +3326,49 @@ interface components {
2898
3326
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2899
3327
  */
2900
3328
  start_at?: string | null;
3329
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
3330
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
2901
3331
  /** @description The local time zone for the slot (IANA format). */
2902
3332
  time_zone?: string | null;
2903
3333
  };
3334
+ /**
3335
+ * Form
3336
+ * @description A form represents an intake form with typed fields.
3337
+ * @example {
3338
+ * "created_at": "2025-02-17T17:49:19Z",
3339
+ * "field_count": 3,
3340
+ * "fields": null,
3341
+ * "id": "frm_d025a96ac0c6",
3342
+ * "internal_name": "Intake Form",
3343
+ * "object": "form",
3344
+ * "updated_at": "2025-02-17T17:49:19Z"
3345
+ * }
3346
+ */
3347
+ Form: {
3348
+ /**
3349
+ * Format: datetime
3350
+ * @description When the form was created.
3351
+ */
3352
+ created_at: string;
3353
+ /** @description The number of fields in the form. */
3354
+ field_count: number;
3355
+ /** @description The fields in the form when expanded. */
3356
+ fields?: components["schemas"]["FormField"][] | null;
3357
+ /** @description Unique identifier for the form. */
3358
+ id: string;
3359
+ /** @description The name of the form. */
3360
+ internal_name: string;
3361
+ /**
3362
+ * @description String representing the object's type.
3363
+ * @enum {string}
3364
+ */
3365
+ object: "form";
3366
+ /**
3367
+ * Format: datetime
3368
+ * @description When the form was last updated.
3369
+ */
3370
+ updated_at: string;
3371
+ };
2904
3372
  /**
2905
3373
  * BookingIntentsResponse
2906
3374
  * @description Response schema for multiple booking intents
@@ -2928,6 +3396,7 @@ interface components {
2928
3396
  * "unix_ts": 1771947000,
2929
3397
  * "utc": "2026-02-23T15:30:00Z"
2930
3398
  * },
3399
+ * "errors": [],
2931
3400
  * "hold_duration": "PT10M",
2932
3401
  * "hold_enabled": true,
2933
3402
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -2982,6 +3451,17 @@ interface components {
2982
3451
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2983
3452
  * "created_at": "2025-02-17T17:49:19Z",
2984
3453
  * "duration": "PT1H30M",
3454
+ * "forms": [
3455
+ * {
3456
+ * "created_at": "2025-02-17T17:49:19Z",
3457
+ * "form_id": "frm_d025a96ac0c6",
3458
+ * "form_name": "Intake Form",
3459
+ * "id": "sf_d025a96ac0c6",
3460
+ * "object": "service_form",
3461
+ * "sort_order": 1,
3462
+ * "updated_at": "2025-02-17T17:49:19Z"
3463
+ * }
3464
+ * ],
2985
3465
  * "id": "srv_d025a96ac0c6",
2986
3466
  * "internal_name": null,
2987
3467
  * "metadata": {
@@ -3034,6 +3514,7 @@ interface components {
3034
3514
  * "utc": "2026-02-23T15:00:00Z"
3035
3515
  * },
3036
3516
  * "status": "slot_selected",
3517
+ * "submissions": [],
3037
3518
  * "updated_at": "2026-02-22T10:00:00Z"
3038
3519
  * }
3039
3520
  * ],
@@ -3050,6 +3531,33 @@ interface components {
3050
3531
  data: components["schemas"]["BookingIntent"][];
3051
3532
  meta: components["schemas"]["PaginationMeta"];
3052
3533
  };
3534
+ /**
3535
+ * FormsResponse
3536
+ * @description Response schema for a list of forms
3537
+ * @example {
3538
+ * "data": [
3539
+ * {
3540
+ * "created_at": "2025-02-17T17:49:19Z",
3541
+ * "field_count": 3,
3542
+ * "fields": null,
3543
+ * "id": "frm_d025a96ac0c6",
3544
+ * "internal_name": "Intake Form",
3545
+ * "object": "form",
3546
+ * "updated_at": "2025-02-17T17:49:19Z"
3547
+ * }
3548
+ * ],
3549
+ * "meta": {
3550
+ * "current_page": 1,
3551
+ * "page_size": 10,
3552
+ * "total_count": 50,
3553
+ * "total_pages": 5
3554
+ * }
3555
+ * }
3556
+ */
3557
+ FormsResponse: {
3558
+ data: components["schemas"]["Form"][];
3559
+ meta: components["schemas"]["PaginationMeta"];
3560
+ };
3053
3561
  /**
3054
3562
  * RolesResponse
3055
3563
  * @description Response schema for multiple roles
@@ -3224,6 +3732,7 @@ interface components {
3224
3732
  * "unix_ts": 1771947000,
3225
3733
  * "utc": "2026-02-23T15:30:00Z"
3226
3734
  * },
3735
+ * "errors": [],
3227
3736
  * "hold_duration": "PT10M",
3228
3737
  * "hold_enabled": true,
3229
3738
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -3278,6 +3787,17 @@ interface components {
3278
3787
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3279
3788
  * "created_at": "2025-02-17T17:49:19Z",
3280
3789
  * "duration": "PT1H30M",
3790
+ * "forms": [
3791
+ * {
3792
+ * "created_at": "2025-02-17T17:49:19Z",
3793
+ * "form_id": "frm_d025a96ac0c6",
3794
+ * "form_name": "Intake Form",
3795
+ * "id": "sf_d025a96ac0c6",
3796
+ * "object": "service_form",
3797
+ * "sort_order": 1,
3798
+ * "updated_at": "2025-02-17T17:49:19Z"
3799
+ * }
3800
+ * ],
3281
3801
  * "id": "srv_d025a96ac0c6",
3282
3802
  * "internal_name": null,
3283
3803
  * "metadata": {
@@ -3330,6 +3850,7 @@ interface components {
3330
3850
  * "utc": "2026-02-23T15:00:00Z"
3331
3851
  * },
3332
3852
  * "status": "slot_selected",
3853
+ * "submissions": [],
3333
3854
  * "updated_at": "2026-02-22T10:00:00Z"
3334
3855
  * },
3335
3856
  * "type": "booking_intent.created"
@@ -3376,16 +3897,40 @@ interface components {
3376
3897
  updated_at: string;
3377
3898
  };
3378
3899
  /**
3379
- * PublicServiceEarliestSlotResponse
3380
- * @description Response schema for the earliest available service slot via the public API
3900
+ * IntentSubmissionInput
3901
+ * @description A form submission entry containing a form ID and response data.
3381
3902
  * @example {
3382
- * "data": {
3383
- * "end_at": "2025-03-10T10:00:00Z",
3384
- * "end_at_ts": 1736464800,
3385
- * "object": "slot",
3386
- * "start_at": "2025-03-10T09:00:00Z",
3387
- * "start_at_ts": 1736461200,
3388
- * "time_zone": "Etc/UTC"
3903
+ * "form_id": "frm_abc123def456abc123def456",
3904
+ * "responses": {
3905
+ * "color": [
3906
+ * "opt_abc"
3907
+ * ],
3908
+ * "name": "Jane Doe"
3909
+ * }
3910
+ * }
3911
+ */
3912
+ IntentSubmissionInput: {
3913
+ /** @description The ID of the form to submit responses for. */
3914
+ form_id: string;
3915
+ /**
3916
+ * @description A map of response data keyed by field key. Values depend on field type.
3917
+ * @default {}
3918
+ */
3919
+ responses: {
3920
+ [key: string]: unknown;
3921
+ };
3922
+ };
3923
+ /**
3924
+ * PublicServiceEarliestSlotResponse
3925
+ * @description Response schema for the earliest available service slot via the public API
3926
+ * @example {
3927
+ * "data": {
3928
+ * "end_at": "2025-03-10T10:00:00Z",
3929
+ * "end_at_ts": 1736464800,
3930
+ * "object": "slot",
3931
+ * "start_at": "2025-03-10T09:00:00Z",
3932
+ * "start_at_ts": 1736461200,
3933
+ * "time_zone": "Etc/UTC"
3389
3934
  * }
3390
3935
  * }
3391
3936
  */
@@ -3622,6 +4167,10 @@ interface components {
3622
4167
  * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
3623
4168
  */
3624
4169
  email?: string | null;
4170
+ /** @description Custom field values for this client as a map of field key to value. Sensitive field values will be `null` unless `include_sensitive` is `true`. */
4171
+ fields?: {
4172
+ [key: string]: unknown;
4173
+ } | null;
3625
4174
  /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
3626
4175
  first_name?: string | null;
3627
4176
  /** @description Unique identifier for the object. */
@@ -3689,6 +4238,20 @@ interface components {
3689
4238
  */
3690
4239
  updated_at: string;
3691
4240
  };
4241
+ /**
4242
+ * SortServiceFormsRequest
4243
+ * @description Request schema for reordering service forms.
4244
+ * @example {
4245
+ * "ids": [
4246
+ * "sf_aaa111222333",
4247
+ * "sf_bbb444555666"
4248
+ * ]
4249
+ * }
4250
+ */
4251
+ SortServiceFormsRequest: {
4252
+ /** @description Ordered list of service form IDs. */
4253
+ ids: string[];
4254
+ };
3692
4255
  /**
3693
4256
  * ConnectedAccountResponse
3694
4257
  * @description Response schema for a single connected account
@@ -3744,6 +4307,17 @@ interface components {
3744
4307
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3745
4308
  * "created_at": "2025-02-17T17:49:19Z",
3746
4309
  * "duration": "PT1H30M",
4310
+ * "forms": [
4311
+ * {
4312
+ * "created_at": "2025-02-17T17:49:19Z",
4313
+ * "form_id": "frm_d025a96ac0c6",
4314
+ * "form_name": "Intake Form",
4315
+ * "id": "sf_d025a96ac0c6",
4316
+ * "object": "service_form",
4317
+ * "sort_order": 1,
4318
+ * "updated_at": "2025-02-17T17:49:19Z"
4319
+ * }
4320
+ * ],
3747
4321
  * "id": "srv_d025a96ac0c6",
3748
4322
  * "internal_name": null,
3749
4323
  * "metadata": {
@@ -3799,6 +4373,26 @@ interface components {
3799
4373
  */
3800
4374
  type: "service.deleted";
3801
4375
  };
4376
+ /**
4377
+ * ServiceFormsResponse
4378
+ * @description Response schema for a list of service forms
4379
+ * @example {
4380
+ * "data": [
4381
+ * {
4382
+ * "created_at": "2025-02-17T17:49:19Z",
4383
+ * "form_id": "frm_d025a96ac0c6",
4384
+ * "form_name": "Intake Form",
4385
+ * "id": "sf_d025a96ac0c6",
4386
+ * "object": "service_form",
4387
+ * "sort_order": 1,
4388
+ * "updated_at": "2025-02-17T17:49:19Z"
4389
+ * }
4390
+ * ]
4391
+ * }
4392
+ */
4393
+ ServiceFormsResponse: {
4394
+ data: components["schemas"]["ServiceForm"][];
4395
+ };
3802
4396
  /**
3803
4397
  * PublicServiceSlotsResponse
3804
4398
  * @description Response schema for service slots via the public API
@@ -3926,9 +4520,6 @@ interface components {
3926
4520
  * "reference_id": "ext_12345",
3927
4521
  * "time_zone": "America/Chicago"
3928
4522
  * },
3929
- * "client_locale": "en-US",
3930
- * "client_reference_id": "ext_12345",
3931
- * "client_time_zone": "America/Chicago",
3932
4523
  * "confirmation_events": [
3933
4524
  * {
3934
4525
  * "actor": null,
@@ -3961,12 +4552,6 @@ interface components {
3961
4552
  * "unix_ts": 1736464800,
3962
4553
  * "utc": "2025-03-01T04:00:00Z"
3963
4554
  * },
3964
- * "fields": {
3965
- * "email": "jane.smith@example.com",
3966
- * "first_name": "Jane",
3967
- * "last_name": "Smith",
3968
- * "phone": "+15551234567"
3969
- * },
3970
4555
  * "id": "appt_a1b2c3d4e5f6",
3971
4556
  * "object": "appointment",
3972
4557
  * "provider": {
@@ -4046,6 +4631,17 @@ interface components {
4046
4631
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4047
4632
  * "created_at": "2025-02-17T17:49:19Z",
4048
4633
  * "duration": "PT1H30M",
4634
+ * "forms": [
4635
+ * {
4636
+ * "created_at": "2025-02-17T17:49:19Z",
4637
+ * "form_id": "frm_d025a96ac0c6",
4638
+ * "form_name": "Intake Form",
4639
+ * "id": "sf_d025a96ac0c6",
4640
+ * "object": "service_form",
4641
+ * "sort_order": 1,
4642
+ * "updated_at": "2025-02-17T17:49:19Z"
4643
+ * }
4644
+ * ],
4049
4645
  * "id": "srv_d025a96ac0c6",
4050
4646
  * "internal_name": null,
4051
4647
  * "metadata": {
@@ -4131,6 +4727,57 @@ interface components {
4131
4727
  */
4132
4728
  type: "appointment.confirmed";
4133
4729
  };
4730
+ /**
4731
+ * FormDetail
4732
+ * @description A form with full field details.
4733
+ * @example {
4734
+ * "created_at": "2025-02-17T17:49:19Z",
4735
+ * "field_count": 1,
4736
+ * "fields": [
4737
+ * {
4738
+ * "description": null,
4739
+ * "id": "ff_abc123",
4740
+ * "key": "full_name",
4741
+ * "label": "Full Name",
4742
+ * "must_be_true": false,
4743
+ * "options": null,
4744
+ * "position": 0,
4745
+ * "required": true,
4746
+ * "sensitive": false,
4747
+ * "type": "short_text"
4748
+ * }
4749
+ * ],
4750
+ * "id": "frm_d025a96ac0c6",
4751
+ * "internal_name": "Intake Form",
4752
+ * "object": "form",
4753
+ * "updated_at": "2025-02-17T17:49:19Z"
4754
+ * }
4755
+ */
4756
+ FormDetail: {
4757
+ /**
4758
+ * Format: datetime
4759
+ * @description When the form was created.
4760
+ */
4761
+ created_at: string;
4762
+ /** @description The number of fields in the form. */
4763
+ field_count: number;
4764
+ /** @description The fields in the form. */
4765
+ fields: components["schemas"]["FormField"][];
4766
+ /** @description Unique identifier for the form. */
4767
+ id: string;
4768
+ /** @description The name of the form. */
4769
+ internal_name: string;
4770
+ /**
4771
+ * @description String representing the object's type.
4772
+ * @enum {string}
4773
+ */
4774
+ object: "form";
4775
+ /**
4776
+ * Format: datetime
4777
+ * @description When the form was last updated.
4778
+ */
4779
+ updated_at: string;
4780
+ };
4134
4781
  /**
4135
4782
  * CancellationReasonResponse
4136
4783
  * @description Response schema for a single cancellation reason
@@ -4289,9 +4936,6 @@ interface components {
4289
4936
  * "reference_id": "ext_12345",
4290
4937
  * "time_zone": "America/Chicago"
4291
4938
  * },
4292
- * "client_locale": "en-US",
4293
- * "client_reference_id": "ext_12345",
4294
- * "client_time_zone": "America/Chicago",
4295
4939
  * "confirmation_events": [
4296
4940
  * {
4297
4941
  * "actor": null,
@@ -4324,12 +4968,6 @@ interface components {
4324
4968
  * "unix_ts": 1736464800,
4325
4969
  * "utc": "2025-03-01T04:00:00Z"
4326
4970
  * },
4327
- * "fields": {
4328
- * "email": "jane.smith@example.com",
4329
- * "first_name": "Jane",
4330
- * "last_name": "Smith",
4331
- * "phone": "+15551234567"
4332
- * },
4333
4971
  * "id": "appt_a1b2c3d4e5f6",
4334
4972
  * "object": "appointment",
4335
4973
  * "provider": {
@@ -4409,6 +5047,17 @@ interface components {
4409
5047
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4410
5048
  * "created_at": "2025-02-17T17:49:19Z",
4411
5049
  * "duration": "PT1H30M",
5050
+ * "forms": [
5051
+ * {
5052
+ * "created_at": "2025-02-17T17:49:19Z",
5053
+ * "form_id": "frm_d025a96ac0c6",
5054
+ * "form_name": "Intake Form",
5055
+ * "id": "sf_d025a96ac0c6",
5056
+ * "object": "service_form",
5057
+ * "sort_order": 1,
5058
+ * "updated_at": "2025-02-17T17:49:19Z"
5059
+ * }
5060
+ * ],
4412
5061
  * "id": "srv_d025a96ac0c6",
4413
5062
  * "internal_name": null,
4414
5063
  * "metadata": {
@@ -4555,6 +5204,10 @@ interface components {
4555
5204
  /** @description Progressive client data. Provided fields are merged with existing values. */
4556
5205
  client_data?: {
4557
5206
  email?: string | null;
5207
+ /** @description A map of custom field key-value pairs. */
5208
+ fields?: {
5209
+ [key: string]: unknown;
5210
+ } | null;
4558
5211
  first_name?: string | null;
4559
5212
  last_name?: string | null;
4560
5213
  locale?: string | null;
@@ -4573,7 +5226,7 @@ interface components {
4573
5226
  hold_duration?: string | null;
4574
5227
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy if service is changing. */
4575
5228
  hold_enabled?: boolean | null;
4576
- /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. Replaces existing locked_fields entirely. */
5229
+ /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. Replaces existing locked_fields entirely. */
4577
5230
  locked_fields?: string[] | null;
4578
5231
  /** @description Custom metadata key-value pairs. Replaces existing metadata entirely. */
4579
5232
  metadata?: {
@@ -4590,6 +5243,8 @@ interface components {
4590
5243
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
4591
5244
  */
4592
5245
  start_at?: string | null;
5246
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
5247
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
4593
5248
  /** @description The local time zone for the slot (IANA format). */
4594
5249
  time_zone?: string | null;
4595
5250
  };
@@ -4677,9 +5332,6 @@ interface components {
4677
5332
  * "reference_id": "ext_12345",
4678
5333
  * "time_zone": "America/Chicago"
4679
5334
  * },
4680
- * "client_locale": "en-US",
4681
- * "client_reference_id": "ext_12345",
4682
- * "client_time_zone": "America/Chicago",
4683
5335
  * "confirmation_events": [
4684
5336
  * {
4685
5337
  * "actor": null,
@@ -4712,12 +5364,6 @@ interface components {
4712
5364
  * "unix_ts": 1736464800,
4713
5365
  * "utc": "2025-03-01T04:00:00Z"
4714
5366
  * },
4715
- * "fields": {
4716
- * "email": "jane.smith@example.com",
4717
- * "first_name": "Jane",
4718
- * "last_name": "Smith",
4719
- * "phone": "+15551234567"
4720
- * },
4721
5367
  * "id": "appt_a1b2c3d4e5f6",
4722
5368
  * "object": "appointment",
4723
5369
  * "provider": {
@@ -4797,6 +5443,17 @@ interface components {
4797
5443
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4798
5444
  * "created_at": "2025-02-17T17:49:19Z",
4799
5445
  * "duration": "PT1H30M",
5446
+ * "forms": [
5447
+ * {
5448
+ * "created_at": "2025-02-17T17:49:19Z",
5449
+ * "form_id": "frm_d025a96ac0c6",
5450
+ * "form_name": "Intake Form",
5451
+ * "id": "sf_d025a96ac0c6",
5452
+ * "object": "service_form",
5453
+ * "sort_order": 1,
5454
+ * "updated_at": "2025-02-17T17:49:19Z"
5455
+ * }
5456
+ * ],
4800
5457
  * "id": "srv_d025a96ac0c6",
4801
5458
  * "internal_name": null,
4802
5459
  * "metadata": {
@@ -5007,6 +5664,10 @@ interface components {
5007
5664
  UpdateClientRequest: {
5008
5665
  /** @description The client's email address. */
5009
5666
  email?: string;
5667
+ /** @description A map of custom field key-value pairs to set on this client. */
5668
+ fields?: {
5669
+ [key: string]: unknown;
5670
+ };
5010
5671
  /** @description The client's first name. */
5011
5672
  first_name?: string;
5012
5673
  /** @description The client's last name. */
@@ -5186,9 +5847,6 @@ interface components {
5186
5847
  * "reference_id": "ext_12345",
5187
5848
  * "time_zone": "America/Chicago"
5188
5849
  * },
5189
- * "client_locale": "en-US",
5190
- * "client_reference_id": "ext_12345",
5191
- * "client_time_zone": "America/Chicago",
5192
5850
  * "confirmation_events": [
5193
5851
  * {
5194
5852
  * "actor": null,
@@ -5221,12 +5879,6 @@ interface components {
5221
5879
  * "unix_ts": 1736464800,
5222
5880
  * "utc": "2025-03-01T04:00:00Z"
5223
5881
  * },
5224
- * "fields": {
5225
- * "email": "jane.smith@example.com",
5226
- * "first_name": "Jane",
5227
- * "last_name": "Smith",
5228
- * "phone": "+15551234567"
5229
- * },
5230
5882
  * "id": "appt_a1b2c3d4e5f6",
5231
5883
  * "object": "appointment",
5232
5884
  * "provider": {
@@ -5306,6 +5958,17 @@ interface components {
5306
5958
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5307
5959
  * "created_at": "2025-02-17T17:49:19Z",
5308
5960
  * "duration": "PT1H30M",
5961
+ * "forms": [
5962
+ * {
5963
+ * "created_at": "2025-02-17T17:49:19Z",
5964
+ * "form_id": "frm_d025a96ac0c6",
5965
+ * "form_name": "Intake Form",
5966
+ * "id": "sf_d025a96ac0c6",
5967
+ * "object": "service_form",
5968
+ * "sort_order": 1,
5969
+ * "updated_at": "2025-02-17T17:49:19Z"
5970
+ * }
5971
+ * ],
5309
5972
  * "id": "srv_d025a96ac0c6",
5310
5973
  * "internal_name": null,
5311
5974
  * "metadata": {
@@ -5589,6 +6252,20 @@ interface components {
5589
6252
  hold: components["schemas"]["HoldPolicy"];
5590
6253
  maximize_utilization: components["schemas"]["MaximizeUtilizationPolicy"];
5591
6254
  };
6255
+ /**
6256
+ * FieldChoice
6257
+ * @description A choice option for a select, radio, or checkbox field.
6258
+ * @example {
6259
+ * "id": "opt_abc123",
6260
+ * "label": "Option A"
6261
+ * }
6262
+ */
6263
+ FieldChoice: {
6264
+ /** @description Unique identifier for the choice. */
6265
+ id: string;
6266
+ /** @description Display label for the choice. */
6267
+ label: string;
6268
+ };
5592
6269
  /**
5593
6270
  * Service
5594
6271
  * @description A service represents a type of appointment.
@@ -5620,6 +6297,17 @@ interface components {
5620
6297
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5621
6298
  * "created_at": "2025-02-17T17:49:19Z",
5622
6299
  * "duration": "PT1H30M",
6300
+ * "forms": [
6301
+ * {
6302
+ * "created_at": "2025-02-17T17:49:19Z",
6303
+ * "form_id": "frm_d025a96ac0c6",
6304
+ * "form_name": "Intake Form",
6305
+ * "id": "sf_d025a96ac0c6",
6306
+ * "object": "service_form",
6307
+ * "sort_order": 1,
6308
+ * "updated_at": "2025-02-17T17:49:19Z"
6309
+ * }
6310
+ * ],
5623
6311
  * "id": "srv_d025a96ac0c6",
5624
6312
  * "internal_name": null,
5625
6313
  * "metadata": {
@@ -5688,6 +6376,8 @@ interface components {
5688
6376
  * @example `PT30M`
5689
6377
  */
5690
6378
  duration: string;
6379
+ /** @description Forms attached to this service. */
6380
+ forms?: components["schemas"]["ServiceForm"][] | null;
5691
6381
  /** @description Unique identifier for the object. */
5692
6382
  id: string;
5693
6383
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
@@ -5713,6 +6403,25 @@ interface components {
5713
6403
  */
5714
6404
  updated_at: string;
5715
6405
  };
6406
+ /**
6407
+ * FieldOptions
6408
+ * @description Options for choice-type fields (select, radio, checkbox).
6409
+ * @example {
6410
+ * "allow_other": false,
6411
+ * "choices": [
6412
+ * {
6413
+ * "id": "opt_abc123",
6414
+ * "label": "Option A"
6415
+ * }
6416
+ * ]
6417
+ * }
6418
+ */
6419
+ FieldOptions: {
6420
+ /** @description Whether to allow a free-text 'other' option. */
6421
+ allow_other: boolean;
6422
+ /** @description List of available choices. */
6423
+ choices: components["schemas"]["FieldChoice"][];
6424
+ };
5716
6425
  /**
5717
6426
  * ProviderReactivatedEventData
5718
6427
  * @description This is an object representing data for the provider reactivated event.
@@ -5793,6 +6502,10 @@ interface components {
5793
6502
  /** @description Progressive client data. Provided fields are merged with existing values. */
5794
6503
  client_data?: {
5795
6504
  email?: string | null;
6505
+ /** @description A map of custom field key-value pairs. */
6506
+ fields?: {
6507
+ [key: string]: unknown;
6508
+ } | null;
5796
6509
  first_name?: string | null;
5797
6510
  last_name?: string | null;
5798
6511
  locale?: string | null;
@@ -5814,6 +6527,8 @@ interface components {
5814
6527
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
5815
6528
  */
5816
6529
  start_at?: string | null;
6530
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
6531
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
5817
6532
  /** @description The local time zone for the slot (IANA format). */
5818
6533
  time_zone?: string | null;
5819
6534
  };
@@ -5976,6 +6691,17 @@ interface components {
5976
6691
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5977
6692
  * "created_at": "2025-02-17T17:49:19Z",
5978
6693
  * "duration": "PT1H30M",
6694
+ * "forms": [
6695
+ * {
6696
+ * "created_at": "2025-02-17T17:49:19Z",
6697
+ * "form_id": "frm_d025a96ac0c6",
6698
+ * "form_name": "Intake Form",
6699
+ * "id": "sf_d025a96ac0c6",
6700
+ * "object": "service_form",
6701
+ * "sort_order": 1,
6702
+ * "updated_at": "2025-02-17T17:49:19Z"
6703
+ * }
6704
+ * ],
5979
6705
  * "id": "srv_d025a96ac0c6",
5980
6706
  * "internal_name": null,
5981
6707
  * "metadata": {
@@ -6272,6 +6998,17 @@ interface components {
6272
6998
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6273
6999
  * "created_at": "2025-02-17T17:49:19Z",
6274
7000
  * "duration": "PT1H30M",
7001
+ * "forms": [
7002
+ * {
7003
+ * "created_at": "2025-02-17T17:49:19Z",
7004
+ * "form_id": "frm_d025a96ac0c6",
7005
+ * "form_name": "Intake Form",
7006
+ * "id": "sf_d025a96ac0c6",
7007
+ * "object": "service_form",
7008
+ * "sort_order": 1,
7009
+ * "updated_at": "2025-02-17T17:49:19Z"
7010
+ * }
7011
+ * ],
6275
7012
  * "id": "srv_d025a96ac0c6",
6276
7013
  * "internal_name": null,
6277
7014
  * "metadata": {
@@ -6413,6 +7150,7 @@ interface components {
6413
7150
  * "unix_ts": 1771947000,
6414
7151
  * "utc": "2026-02-23T15:30:00Z"
6415
7152
  * },
7153
+ * "errors": [],
6416
7154
  * "hold_until": "2026-02-22T10:10:00Z",
6417
7155
  * "id": "bi_abc123def456abc123def456",
6418
7156
  * "locked_fields": [],
@@ -6432,6 +7170,8 @@ interface components {
6432
7170
  appointment?: components["schemas"]["PublicAppointment"] | null;
6433
7171
  /** @description The end time of the selected slot */
6434
7172
  end_at?: components["schemas"]["ZonedDateTime"] | null;
7173
+ /** @description Validation errors for submitted data in JSON:API format. Empty when no errors exist. */
7174
+ errors?: components["schemas"]["JsonError"][];
6435
7175
  /**
6436
7176
  * Format: date-time
6437
7177
  * @description When the hold expires (UTC)
@@ -6454,6 +7194,44 @@ interface components {
6454
7194
  */
6455
7195
  status: "pending" | "slot_selected" | "completed" | "abandoned";
6456
7196
  };
7197
+ /**
7198
+ * ServiceForm
7199
+ * @description A service form represents the attachment of a form to a service.
7200
+ * @example {
7201
+ * "created_at": "2025-02-17T17:49:19Z",
7202
+ * "form_id": "frm_d025a96ac0c6",
7203
+ * "form_name": "Intake Form",
7204
+ * "id": "sf_d025a96ac0c6",
7205
+ * "object": "service_form",
7206
+ * "sort_order": 1,
7207
+ * "updated_at": "2025-02-17T17:49:19Z"
7208
+ * }
7209
+ */
7210
+ ServiceForm: {
7211
+ /**
7212
+ * Format: datetime
7213
+ * @description When the service form was created.
7214
+ */
7215
+ created_at: string;
7216
+ /** @description The ID of the attached form. */
7217
+ form_id: string;
7218
+ /** @description The name of the attached form. */
7219
+ form_name: string;
7220
+ /** @description Unique identifier for the service form. */
7221
+ id: string;
7222
+ /**
7223
+ * @description String representing the object's type.
7224
+ * @enum {string}
7225
+ */
7226
+ object: "service_form";
7227
+ /** @description Display order of the form within the service. */
7228
+ sort_order: number;
7229
+ /**
7230
+ * Format: datetime
7231
+ * @description When the service form was last updated.
7232
+ */
7233
+ updated_at: string;
7234
+ };
6457
7235
  /**
6458
7236
  * UpdateAccountUserRequest
6459
7237
  * @description Request schema for updating a user in an account
@@ -6546,9 +7324,6 @@ interface components {
6546
7324
  * "reference_id": "ext_12345",
6547
7325
  * "time_zone": "America/Chicago"
6548
7326
  * },
6549
- * "client_locale": "en-US",
6550
- * "client_reference_id": "ext_12345",
6551
- * "client_time_zone": "America/Chicago",
6552
7327
  * "confirmation_events": [
6553
7328
  * {
6554
7329
  * "actor": null,
@@ -6581,12 +7356,6 @@ interface components {
6581
7356
  * "unix_ts": 1736464800,
6582
7357
  * "utc": "2025-03-01T04:00:00Z"
6583
7358
  * },
6584
- * "fields": {
6585
- * "email": "jane.smith@example.com",
6586
- * "first_name": "Jane",
6587
- * "last_name": "Smith",
6588
- * "phone": "+15551234567"
6589
- * },
6590
7359
  * "id": "appt_a1b2c3d4e5f6",
6591
7360
  * "object": "appointment",
6592
7361
  * "provider": {
@@ -6666,6 +7435,17 @@ interface components {
6666
7435
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6667
7436
  * "created_at": "2025-02-17T17:49:19Z",
6668
7437
  * "duration": "PT1H30M",
7438
+ * "forms": [
7439
+ * {
7440
+ * "created_at": "2025-02-17T17:49:19Z",
7441
+ * "form_id": "frm_d025a96ac0c6",
7442
+ * "form_name": "Intake Form",
7443
+ * "id": "sf_d025a96ac0c6",
7444
+ * "object": "service_form",
7445
+ * "sort_order": 1,
7446
+ * "updated_at": "2025-02-17T17:49:19Z"
7447
+ * }
7448
+ * ],
6669
7449
  * "id": "srv_d025a96ac0c6",
6670
7450
  * "internal_name": null,
6671
7451
  * "metadata": {
@@ -6751,6 +7531,24 @@ interface components {
6751
7531
  */
6752
7532
  type: "appointment.canceled";
6753
7533
  };
7534
+ /**
7535
+ * FieldOptionsInput
7536
+ * @description Options for choice-type fields (select, radio, checkbox).
7537
+ * @example {
7538
+ * "allow_other": false,
7539
+ * "choices": [
7540
+ * {
7541
+ * "label": "Option A"
7542
+ * }
7543
+ * ]
7544
+ * }
7545
+ */
7546
+ FieldOptionsInput: {
7547
+ /** @description Whether to allow a free-text 'other' option. */
7548
+ allow_other: boolean;
7549
+ /** @description List of available choices. */
7550
+ choices: components["schemas"]["FieldChoiceInput"][];
7551
+ };
6754
7552
  /**
6755
7553
  * UpdatePublicBookingIntentRequest
6756
7554
  * @description Request schema for updating a booking intent via a public interface.
@@ -6771,6 +7569,10 @@ interface components {
6771
7569
  /** @description Progressive client data. Provided fields are merged with existing values. */
6772
7570
  client_data?: {
6773
7571
  email?: string | null;
7572
+ /** @description A map of custom field key-value pairs. */
7573
+ fields?: {
7574
+ [key: string]: unknown;
7575
+ } | null;
6774
7576
  first_name?: string | null;
6775
7577
  last_name?: string | null;
6776
7578
  locale?: string | null;
@@ -6792,6 +7594,8 @@ interface components {
6792
7594
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
6793
7595
  */
6794
7596
  start_at?: string | null;
7597
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
7598
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
6795
7599
  /** @description The local time zone for the slot (IANA format). */
6796
7600
  time_zone?: string | null;
6797
7601
  };
@@ -6845,6 +7649,31 @@ interface components {
6845
7649
  */
6846
7650
  type: "provider_schedule.updated";
6847
7651
  };
7652
+ /**
7653
+ * CreateClientFieldRequest
7654
+ * @description Request schema for creating a client field
7655
+ * @example {
7656
+ * "key": "company_name",
7657
+ * "label": "Company Name",
7658
+ * "type": "short_text"
7659
+ * }
7660
+ */
7661
+ CreateClientFieldRequest: {
7662
+ /** @description An optional description of the field. */
7663
+ description?: string | null;
7664
+ /** @description The machine-readable key for the field. */
7665
+ key: string;
7666
+ /** @description The human-readable label for the field. */
7667
+ label: string;
7668
+ options?: components["schemas"]["ClientFieldOptions"];
7669
+ /** @description Whether the field contains sensitive data. */
7670
+ sensitive?: boolean;
7671
+ /**
7672
+ * @description The field type.
7673
+ * @enum {string}
7674
+ */
7675
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
7676
+ };
6848
7677
  /**
6849
7678
  * PublicBookingIntentResponse
6850
7679
  * @description Response schema for a single booking intent via a public interface.
@@ -6858,6 +7687,7 @@ interface components {
6858
7687
  * "unix_ts": 1771947000,
6859
7688
  * "utc": "2026-02-23T15:30:00Z"
6860
7689
  * },
7690
+ * "errors": [],
6861
7691
  * "hold_until": "2026-02-22T10:10:00Z",
6862
7692
  * "id": "bi_abc123def456abc123def456",
6863
7693
  * "locked_fields": [],
@@ -7231,6 +8061,33 @@ interface components {
7231
8061
  /** @description The account time zone (IANA format). */
7232
8062
  time_zone: string;
7233
8063
  };
8064
+ /**
8065
+ * JsonError
8066
+ * @description A single validation error in JSON:API format.
8067
+ * @example {
8068
+ * "code": "email_format",
8069
+ * "detail": "must be a valid email address",
8070
+ * "source": {
8071
+ * "pointer": "/email"
8072
+ * },
8073
+ * "title": "Invalid value"
8074
+ * }
8075
+ */
8076
+ JsonError: {
8077
+ /**
8078
+ * @description Machine-readable error code (e.g. slot_unavailable, no_available_provider, time_range_conflict)
8079
+ * @example slot_unavailable
8080
+ */
8081
+ code?: string | null;
8082
+ /** @example is not available */
8083
+ detail: string;
8084
+ source: {
8085
+ /** @example /start_at */
8086
+ pointer: string;
8087
+ };
8088
+ /** @example Invalid value */
8089
+ title: string;
8090
+ };
7234
8091
  /**
7235
8092
  * CreateAppointmentRequest
7236
8093
  * @description Request schema for creating an appointment
@@ -7262,6 +8119,10 @@ interface components {
7262
8119
  * @description The client's email address. Required if no existing client is provided.
7263
8120
  */
7264
8121
  email?: string | null;
8122
+ /** @description A map of custom field key-value pairs to set on the client. */
8123
+ fields?: {
8124
+ [key: string]: unknown;
8125
+ } | null;
7265
8126
  /** @description The client's first name. Required if no existing client is provided. */
7266
8127
  first_name?: string | null;
7267
8128
  /**
@@ -7399,6 +8260,10 @@ interface components {
7399
8260
  /** @description Progressive client data to collect during the booking flow. */
7400
8261
  client_data?: {
7401
8262
  email?: string | null;
8263
+ /** @description A map of custom field key-value pairs. */
8264
+ fields?: {
8265
+ [key: string]: unknown;
8266
+ } | null;
7402
8267
  first_name?: string | null;
7403
8268
  last_name?: string | null;
7404
8269
  locale?: string | null;
@@ -7420,6 +8285,8 @@ interface components {
7420
8285
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
7421
8286
  */
7422
8287
  start_at?: string | null;
8288
+ /** @description Form submissions to attach to this booking intent. Each entry contains a form_id and responses map. */
8289
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
7423
8290
  /** @description The local time zone for the slot (IANA format). */
7424
8291
  time_zone?: string | null;
7425
8292
  };
@@ -7449,6 +8316,7 @@ interface components {
7449
8316
  * "unix_ts": 1771947000,
7450
8317
  * "utc": "2026-02-23T15:30:00Z"
7451
8318
  * },
8319
+ * "errors": [],
7452
8320
  * "hold_duration": "PT10M",
7453
8321
  * "hold_enabled": true,
7454
8322
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -7503,6 +8371,17 @@ interface components {
7503
8371
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7504
8372
  * "created_at": "2025-02-17T17:49:19Z",
7505
8373
  * "duration": "PT1H30M",
8374
+ * "forms": [
8375
+ * {
8376
+ * "created_at": "2025-02-17T17:49:19Z",
8377
+ * "form_id": "frm_d025a96ac0c6",
8378
+ * "form_name": "Intake Form",
8379
+ * "id": "sf_d025a96ac0c6",
8380
+ * "object": "service_form",
8381
+ * "sort_order": 1,
8382
+ * "updated_at": "2025-02-17T17:49:19Z"
8383
+ * }
8384
+ * ],
7506
8385
  * "id": "srv_d025a96ac0c6",
7507
8386
  * "internal_name": null,
7508
8387
  * "metadata": {
@@ -7555,6 +8434,7 @@ interface components {
7555
8434
  * "utc": "2026-02-23T15:00:00Z"
7556
8435
  * },
7557
8436
  * "status": "slot_selected",
8437
+ * "submissions": [],
7558
8438
  * "updated_at": "2026-02-22T10:00:00Z"
7559
8439
  * }
7560
8440
  * }
@@ -7635,9 +8515,6 @@ interface components {
7635
8515
  * "reference_id": "ext_12345",
7636
8516
  * "time_zone": "America/Chicago"
7637
8517
  * },
7638
- * "client_locale": "en-US",
7639
- * "client_reference_id": "ext_12345",
7640
- * "client_time_zone": "America/Chicago",
7641
8518
  * "confirmation_events": [
7642
8519
  * {
7643
8520
  * "actor": null,
@@ -7670,12 +8547,6 @@ interface components {
7670
8547
  * "unix_ts": 1736464800,
7671
8548
  * "utc": "2025-03-01T04:00:00Z"
7672
8549
  * },
7673
- * "fields": {
7674
- * "email": "jane.smith@example.com",
7675
- * "first_name": "Jane",
7676
- * "last_name": "Smith",
7677
- * "phone": "+15551234567"
7678
- * },
7679
8550
  * "id": "appt_a1b2c3d4e5f6",
7680
8551
  * "object": "appointment",
7681
8552
  * "provider": {
@@ -7755,6 +8626,17 @@ interface components {
7755
8626
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7756
8627
  * "created_at": "2025-02-17T17:49:19Z",
7757
8628
  * "duration": "PT1H30M",
8629
+ * "forms": [
8630
+ * {
8631
+ * "created_at": "2025-02-17T17:49:19Z",
8632
+ * "form_id": "frm_d025a96ac0c6",
8633
+ * "form_name": "Intake Form",
8634
+ * "id": "sf_d025a96ac0c6",
8635
+ * "object": "service_form",
8636
+ * "sort_order": 1,
8637
+ * "updated_at": "2025-02-17T17:49:19Z"
8638
+ * }
8639
+ * ],
7758
8640
  * "id": "srv_d025a96ac0c6",
7759
8641
  * "internal_name": null,
7760
8642
  * "metadata": {
@@ -7973,6 +8855,59 @@ interface components {
7973
8855
  */
7974
8856
  time_zone: string;
7975
8857
  };
8858
+ /**
8859
+ * ClientField
8860
+ * @description This is an object representing a client field.
8861
+ * @example {
8862
+ * "created_at": "2024-01-01T00:00:00Z",
8863
+ * "description": null,
8864
+ * "id": "cf_a1b2c3d4e5f6",
8865
+ * "key": "company_name",
8866
+ * "label": "Company Name",
8867
+ * "object": "client_field",
8868
+ * "options": null,
8869
+ * "sensitive": false,
8870
+ * "sort_order": 1,
8871
+ * "type": "short_text",
8872
+ * "updated_at": "2024-01-01T00:00:00Z"
8873
+ * }
8874
+ */
8875
+ ClientField: {
8876
+ /**
8877
+ * Format: date-time
8878
+ * @description When the field was created.
8879
+ */
8880
+ created_at: string;
8881
+ /** @description An optional description of the field. */
8882
+ description?: string | null;
8883
+ /** @description Unique identifier for the object. */
8884
+ id: string;
8885
+ /** @description The machine-readable key for the field. */
8886
+ key: string;
8887
+ /** @description The human-readable label for the field. */
8888
+ label: string;
8889
+ /**
8890
+ * @description String representing the object's type.
8891
+ * @enum {string}
8892
+ */
8893
+ object: "client_field";
8894
+ /** @description Options for choice-type fields. */
8895
+ options?: (components["schemas"]["ClientFieldOptions"] | (Record<string, never> | null)) | null;
8896
+ /** @description Whether the field contains sensitive data. */
8897
+ sensitive: boolean;
8898
+ /** @description The sort order of the field. */
8899
+ sort_order: number;
8900
+ /**
8901
+ * @description The field type.
8902
+ * @enum {string}
8903
+ */
8904
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
8905
+ /**
8906
+ * Format: date-time
8907
+ * @description When the field was last updated.
8908
+ */
8909
+ updated_at: string;
8910
+ };
7976
8911
  /**
7977
8912
  * UpdateCancellationReasonRequest
7978
8913
  * @description Request schema for updating a cancellation reason
@@ -7984,6 +8919,49 @@ interface components {
7984
8919
  /** @description The cancellation reason's name. */
7985
8920
  name?: string;
7986
8921
  };
8922
+ /**
8923
+ * ServiceFormResponse
8924
+ * @description Response schema for a single service form
8925
+ * @example {
8926
+ * "data": {
8927
+ * "created_at": "2025-02-17T17:49:19Z",
8928
+ * "form_id": "frm_d025a96ac0c6",
8929
+ * "form_name": "Intake Form",
8930
+ * "id": "sf_d025a96ac0c6",
8931
+ * "object": "service_form",
8932
+ * "sort_order": 1,
8933
+ * "updated_at": "2025-02-17T17:49:19Z"
8934
+ * }
8935
+ * }
8936
+ */
8937
+ ServiceFormResponse: {
8938
+ data: components["schemas"]["ServiceForm"];
8939
+ };
8940
+ /**
8941
+ * ClientFieldsResponse
8942
+ * @description Response schema for multiple client fields
8943
+ * @example {
8944
+ * "data": [
8945
+ * {
8946
+ * "created_at": "2024-01-01T00:00:00Z",
8947
+ * "description": null,
8948
+ * "id": "cf_a1b2c3d4e5f6",
8949
+ * "key": "company_name",
8950
+ * "label": "Company Name",
8951
+ * "object": "client_field",
8952
+ * "options": null,
8953
+ * "sensitive": false,
8954
+ * "sort_order": 1,
8955
+ * "type": "short_text",
8956
+ * "updated_at": "2024-01-01T00:00:00Z"
8957
+ * }
8958
+ * ]
8959
+ * }
8960
+ */
8961
+ ClientFieldsResponse: {
8962
+ /** @description The client fields details */
8963
+ data: components["schemas"]["ClientField"][];
8964
+ };
7987
8965
  /**
7988
8966
  * BlockResponse
7989
8967
  * @description Response schema for a block
@@ -8027,21 +9005,7 @@ interface components {
8027
9005
  * @description Response schema for validation errors
8028
9006
  */
8029
9007
  JsonErrorResponse: {
8030
- errors: {
8031
- /**
8032
- * @description Machine-readable error code (e.g. slot_unavailable, no_available_provider, time_range_conflict)
8033
- * @example slot_unavailable
8034
- */
8035
- code?: string | null;
8036
- /** @example is not available */
8037
- detail: string;
8038
- source: {
8039
- /** @example /start_at */
8040
- pointer: string;
8041
- };
8042
- /** @example Invalid value */
8043
- title: string;
8044
- }[];
9008
+ errors: components["schemas"]["JsonError"][];
8045
9009
  };
8046
9010
  /**
8047
9011
  * Appointment
@@ -8089,9 +9053,6 @@ interface components {
8089
9053
  * "reference_id": "ext_12345",
8090
9054
  * "time_zone": "America/Chicago"
8091
9055
  * },
8092
- * "client_locale": "en-US",
8093
- * "client_reference_id": "ext_12345",
8094
- * "client_time_zone": "America/Chicago",
8095
9056
  * "confirmation_events": [
8096
9057
  * {
8097
9058
  * "actor": null,
@@ -8124,12 +9085,6 @@ interface components {
8124
9085
  * "unix_ts": 1736464800,
8125
9086
  * "utc": "2025-03-01T04:00:00Z"
8126
9087
  * },
8127
- * "fields": {
8128
- * "email": "jane.smith@example.com",
8129
- * "first_name": "Jane",
8130
- * "last_name": "Smith",
8131
- * "phone": "+15551234567"
8132
- * },
8133
9088
  * "id": "appt_a1b2c3d4e5f6",
8134
9089
  * "object": "appointment",
8135
9090
  * "provider": {
@@ -8209,6 +9164,17 @@ interface components {
8209
9164
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8210
9165
  * "created_at": "2025-02-17T17:49:19Z",
8211
9166
  * "duration": "PT1H30M",
9167
+ * "forms": [
9168
+ * {
9169
+ * "created_at": "2025-02-17T17:49:19Z",
9170
+ * "form_id": "frm_d025a96ac0c6",
9171
+ * "form_name": "Intake Form",
9172
+ * "id": "sf_d025a96ac0c6",
9173
+ * "object": "service_form",
9174
+ * "sort_order": 1,
9175
+ * "updated_at": "2025-02-17T17:49:19Z"
9176
+ * }
9177
+ * ],
8212
9178
  * "id": "srv_d025a96ac0c6",
8213
9179
  * "internal_name": null,
8214
9180
  * "metadata": {
@@ -8318,52 +9284,18 @@ interface components {
8318
9284
  */
8319
9285
  time_zone: string;
8320
9286
  };
9287
+ confirmation_events: components["schemas"]["ConfirmationEvent"][];
8321
9288
  /**
8322
- * @deprecated
8323
- * @description Use `client_data.locale` instead.
8324
- * @example en-US
9289
+ * Format: date-time
9290
+ * @description Time at which the object was confirmed.
8325
9291
  */
8326
- client_locale?: string | null;
9292
+ confirmed_at: string | null;
8327
9293
  /**
8328
- * @deprecated
8329
- * @description Use `client_data.reference_id` instead.
8330
- */
8331
- client_reference_id?: string | null;
8332
- /**
8333
- * @deprecated
8334
- * @description Use `client_data.time_zone` instead.
8335
- * @example America/Chicago
8336
- */
8337
- client_time_zone?: string;
8338
- confirmation_events: components["schemas"]["ConfirmationEvent"][];
8339
- /**
8340
- * Format: date-time
8341
- * @description Time at which the object was confirmed.
8342
- */
8343
- confirmed_at: string | null;
8344
- /**
8345
- * Format: date-time
8346
- * @description Time at which the object was created.
9294
+ * Format: date-time
9295
+ * @description Time at which the object was created.
8347
9296
  */
8348
9297
  created_at: string;
8349
9298
  end_at: components["schemas"]["ZonedDateTime"];
8350
- /**
8351
- * @deprecated
8352
- * @description Use `client_data` instead.
8353
- */
8354
- fields: {
8355
- /**
8356
- * Format: email
8357
- * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
8358
- */
8359
- email?: string | null;
8360
- /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
8361
- first_name?: string | null;
8362
- /** @description The client's last name. This field will be `null` unless `include_sensitive` is `true`. */
8363
- last_name?: string | null;
8364
- /** @description The client's phone number (E.164 format). This field will be `null` unless `include_sensitive` is `true`. */
8365
- phone?: string | null;
8366
- };
8367
9299
  /** @description Unique identifier for the object. */
8368
9300
  id: string;
8369
9301
  /**
@@ -8430,6 +9362,28 @@ interface components {
8430
9362
  */
8431
9363
  type: "provider.deactivated";
8432
9364
  };
9365
+ /**
9366
+ * CreateFormRequest
9367
+ * @description Request schema for creating a form.
9368
+ * @example {
9369
+ * "fields": [
9370
+ * {
9371
+ * "key": "full_name",
9372
+ * "label": "Full Name",
9373
+ * "position": 0,
9374
+ * "required": true,
9375
+ * "type": "short_text"
9376
+ * }
9377
+ * ],
9378
+ * "internal_name": "Intake Form"
9379
+ * }
9380
+ */
9381
+ CreateFormRequest: {
9382
+ /** @description The fields in the form. */
9383
+ fields?: components["schemas"]["FormFieldInput"][];
9384
+ /** @description The name of the form. */
9385
+ internal_name: string;
9386
+ };
8433
9387
  /**
8434
9388
  * PublicAppointmentResponse
8435
9389
  * @description Response schema for a single appointment created via a public interface.
@@ -8614,6 +9568,17 @@ interface components {
8614
9568
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8615
9569
  * "created_at": "2025-02-17T17:49:19Z",
8616
9570
  * "duration": "PT1H30M",
9571
+ * "forms": [
9572
+ * {
9573
+ * "created_at": "2025-02-17T17:49:19Z",
9574
+ * "form_id": "frm_d025a96ac0c6",
9575
+ * "form_name": "Intake Form",
9576
+ * "id": "sf_d025a96ac0c6",
9577
+ * "object": "service_form",
9578
+ * "sort_order": 1,
9579
+ * "updated_at": "2025-02-17T17:49:19Z"
9580
+ * }
9581
+ * ],
8617
9582
  * "id": "srv_d025a96ac0c6",
8618
9583
  * "internal_name": null,
8619
9584
  * "metadata": {
@@ -8731,6 +9696,29 @@ interface components {
8731
9696
  /** @description The ID of the user who owns this connected account. */
8732
9697
  user_id: string | null;
8733
9698
  };
9699
+ /**
9700
+ * ClientFieldResponse
9701
+ * @description Response schema for a single client field
9702
+ * @example {
9703
+ * "data": {
9704
+ * "created_at": "2024-01-01T00:00:00Z",
9705
+ * "description": null,
9706
+ * "id": "cf_a1b2c3d4e5f6",
9707
+ * "key": "company_name",
9708
+ * "label": "Company Name",
9709
+ * "object": "client_field",
9710
+ * "options": null,
9711
+ * "sensitive": false,
9712
+ * "sort_order": 1,
9713
+ * "type": "short_text",
9714
+ * "updated_at": "2024-01-01T00:00:00Z"
9715
+ * }
9716
+ * }
9717
+ */
9718
+ ClientFieldResponse: {
9719
+ /** @description The client field details */
9720
+ data: Record<string, never>;
9721
+ };
8734
9722
  /**
8735
9723
  * BookingIntent
8736
9724
  * @description A booking intent that tracks the lifecycle of a booking attempt.
@@ -8756,6 +9744,7 @@ interface components {
8756
9744
  * "unix_ts": 1771947000,
8757
9745
  * "utc": "2026-02-23T15:30:00Z"
8758
9746
  * },
9747
+ * "errors": [],
8759
9748
  * "hold_duration": "PT10M",
8760
9749
  * "hold_enabled": true,
8761
9750
  * "hold_until": "2026-02-22T10:10:00Z",
@@ -8810,6 +9799,17 @@ interface components {
8810
9799
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8811
9800
  * "created_at": "2025-02-17T17:49:19Z",
8812
9801
  * "duration": "PT1H30M",
9802
+ * "forms": [
9803
+ * {
9804
+ * "created_at": "2025-02-17T17:49:19Z",
9805
+ * "form_id": "frm_d025a96ac0c6",
9806
+ * "form_name": "Intake Form",
9807
+ * "id": "sf_d025a96ac0c6",
9808
+ * "object": "service_form",
9809
+ * "sort_order": 1,
9810
+ * "updated_at": "2025-02-17T17:49:19Z"
9811
+ * }
9812
+ * ],
8813
9813
  * "id": "srv_d025a96ac0c6",
8814
9814
  * "internal_name": null,
8815
9815
  * "metadata": {
@@ -8862,6 +9862,7 @@ interface components {
8862
9862
  * "utc": "2026-02-23T15:00:00Z"
8863
9863
  * },
8864
9864
  * "status": "slot_selected",
9865
+ * "submissions": [],
8865
9866
  * "updated_at": "2026-02-22T10:00:00Z"
8866
9867
  * }
8867
9868
  */
@@ -8897,6 +9898,8 @@ interface components {
8897
9898
  created_at: string;
8898
9899
  /** @description The end time of the selected slot */
8899
9900
  end_at?: components["schemas"]["ZonedDateTime"] | null;
9901
+ /** @description Validation errors for submitted data in JSON:API format. Empty when no errors exist. Only present on single-resource endpoints (not index). */
9902
+ errors?: components["schemas"]["JsonError"][];
8900
9903
  /** @description The hold duration as an ISO 8601 duration string (e.g., PT10M) */
8901
9904
  hold_duration?: string | null;
8902
9905
  /** @description Whether slot holding is enabled */
@@ -8908,7 +9911,7 @@ interface components {
8908
9911
  hold_until?: string | null;
8909
9912
  /** @description The booking intent ID */
8910
9913
  id: string;
8911
- /** @description Fields that are locked and cannot be updated via the public API. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. */
9914
+ /** @description Fields that are locked and cannot be updated via the public API. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. */
8912
9915
  locked_fields?: string[];
8913
9916
  /** @description Custom metadata key-value pairs */
8914
9917
  metadata?: {
@@ -8932,6 +9935,8 @@ interface components {
8932
9935
  * @enum {string}
8933
9936
  */
8934
9937
  status: "pending" | "slot_selected" | "completed" | "abandoned";
9938
+ /** @description Form submissions accumulated during the booking flow. Each entry contains a form_id and responses map. */
9939
+ submissions?: components["schemas"]["IntentSubmissionInput"][];
8935
9940
  /**
8936
9941
  * Format: date-time
8937
9942
  * @description When the intent was last updated
@@ -9028,6 +10033,8 @@ interface components {
9028
10033
  * @example PT1H30M
9029
10034
  */
9030
10035
  duration?: string;
10036
+ /** @description Optional list of form IDs to attach to the service. Each form is attached as required, with sort order matching the array order. */
10037
+ form_ids?: string[];
9031
10038
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
9032
10039
  internal_name?: string | null;
9033
10040
  /** @description Set of key-value pairs to attach to this service. Maximum size is 16 KB. */
@@ -9088,9 +10095,6 @@ interface components {
9088
10095
  * "reference_id": "ext_12345",
9089
10096
  * "time_zone": "America/Chicago"
9090
10097
  * },
9091
- * "client_locale": "en-US",
9092
- * "client_reference_id": "ext_12345",
9093
- * "client_time_zone": "America/Chicago",
9094
10098
  * "confirmation_events": [
9095
10099
  * {
9096
10100
  * "actor": null,
@@ -9123,12 +10127,6 @@ interface components {
9123
10127
  * "unix_ts": 1736464800,
9124
10128
  * "utc": "2025-03-01T04:00:00Z"
9125
10129
  * },
9126
- * "fields": {
9127
- * "email": "jane.smith@example.com",
9128
- * "first_name": "Jane",
9129
- * "last_name": "Smith",
9130
- * "phone": "+15551234567"
9131
- * },
9132
10130
  * "id": "appt_a1b2c3d4e5f6",
9133
10131
  * "object": "appointment",
9134
10132
  * "provider": {
@@ -9208,6 +10206,17 @@ interface components {
9208
10206
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
9209
10207
  * "created_at": "2025-02-17T17:49:19Z",
9210
10208
  * "duration": "PT1H30M",
10209
+ * "forms": [
10210
+ * {
10211
+ * "created_at": "2025-02-17T17:49:19Z",
10212
+ * "form_id": "frm_d025a96ac0c6",
10213
+ * "form_name": "Intake Form",
10214
+ * "id": "sf_d025a96ac0c6",
10215
+ * "object": "service_form",
10216
+ * "sort_order": 1,
10217
+ * "updated_at": "2025-02-17T17:49:19Z"
10218
+ * }
10219
+ * ],
9211
10220
  * "id": "srv_d025a96ac0c6",
9212
10221
  * "internal_name": null,
9213
10222
  * "metadata": {
@@ -9350,6 +10359,10 @@ interface components {
9350
10359
  CreateClientRequest: {
9351
10360
  /** @description The client's email address. */
9352
10361
  email: string;
10362
+ /** @description A map of custom field key-value pairs to set on this client. */
10363
+ fields?: {
10364
+ [key: string]: unknown;
10365
+ };
9353
10366
  /** @description The client's first name. */
9354
10367
  first_name: string;
9355
10368
  /** @description The client's last name. */
@@ -9415,6 +10428,99 @@ interface components {
9415
10428
  pathItems: never;
9416
10429
  }
9417
10430
  interface operations {
10431
+ listClientFields: {
10432
+ parameters: {
10433
+ query?: never;
10434
+ header?: {
10435
+ /**
10436
+ * @description When authenticating with a platform token, specifies the account ID for the request
10437
+ * @example acct_1234567890
10438
+ */
10439
+ "X-SavvyCal-Account"?: string;
10440
+ };
10441
+ path?: never;
10442
+ cookie?: never;
10443
+ };
10444
+ requestBody?: never;
10445
+ responses: {
10446
+ /** @description Success */
10447
+ 200: {
10448
+ headers: {
10449
+ [name: string]: unknown;
10450
+ };
10451
+ content: {
10452
+ "application/json": components["schemas"]["ClientFieldsResponse"];
10453
+ };
10454
+ };
10455
+ /** @description Unauthorized */
10456
+ 401: {
10457
+ headers: {
10458
+ [name: string]: unknown;
10459
+ };
10460
+ content: {
10461
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10462
+ };
10463
+ };
10464
+ /** @description Unprocessable Entity */
10465
+ 422: {
10466
+ headers: {
10467
+ [name: string]: unknown;
10468
+ };
10469
+ content: {
10470
+ "application/json": components["schemas"]["JsonErrorResponse"];
10471
+ };
10472
+ };
10473
+ };
10474
+ };
10475
+ createClientField: {
10476
+ parameters: {
10477
+ query?: never;
10478
+ header?: {
10479
+ /**
10480
+ * @description When authenticating with a platform token, specifies the account ID for the request
10481
+ * @example acct_1234567890
10482
+ */
10483
+ "X-SavvyCal-Account"?: string;
10484
+ };
10485
+ path?: never;
10486
+ cookie?: never;
10487
+ };
10488
+ /** @description Client field params */
10489
+ requestBody?: {
10490
+ content: {
10491
+ "application/json": components["schemas"]["CreateClientFieldRequest"];
10492
+ };
10493
+ };
10494
+ responses: {
10495
+ /** @description Success */
10496
+ 201: {
10497
+ headers: {
10498
+ [name: string]: unknown;
10499
+ };
10500
+ content: {
10501
+ "application/json": components["schemas"]["ClientFieldResponse"];
10502
+ };
10503
+ };
10504
+ /** @description Unauthorized */
10505
+ 401: {
10506
+ headers: {
10507
+ [name: string]: unknown;
10508
+ };
10509
+ content: {
10510
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10511
+ };
10512
+ };
10513
+ /** @description Unprocessable Entity */
10514
+ 422: {
10515
+ headers: {
10516
+ [name: string]: unknown;
10517
+ };
10518
+ content: {
10519
+ "application/json": components["schemas"]["JsonErrorResponse"];
10520
+ };
10521
+ };
10522
+ };
10523
+ };
9418
10524
  getAppointment: {
9419
10525
  parameters: {
9420
10526
  query?: {
@@ -9729,6 +10835,114 @@ interface operations {
9729
10835
  };
9730
10836
  };
9731
10837
  };
10838
+ listServiceForms: {
10839
+ parameters: {
10840
+ query?: never;
10841
+ header?: {
10842
+ /**
10843
+ * @description When authenticating with a platform token, specifies the account ID for the request
10844
+ * @example acct_1234567890
10845
+ */
10846
+ "X-SavvyCal-Account"?: string;
10847
+ };
10848
+ path: {
10849
+ /** @description Service ID */
10850
+ service_id: string;
10851
+ };
10852
+ cookie?: never;
10853
+ };
10854
+ requestBody?: never;
10855
+ responses: {
10856
+ /** @description Success */
10857
+ 200: {
10858
+ headers: {
10859
+ [name: string]: unknown;
10860
+ };
10861
+ content: {
10862
+ "application/json": components["schemas"]["ServiceFormsResponse"];
10863
+ };
10864
+ };
10865
+ /** @description Unauthorized */
10866
+ 401: {
10867
+ headers: {
10868
+ [name: string]: unknown;
10869
+ };
10870
+ content: {
10871
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10872
+ };
10873
+ };
10874
+ /** @description Not Found */
10875
+ 404: {
10876
+ headers: {
10877
+ [name: string]: unknown;
10878
+ };
10879
+ content: {
10880
+ "application/json": components["schemas"]["NotFoundResponse"];
10881
+ };
10882
+ };
10883
+ };
10884
+ };
10885
+ attachServiceForm: {
10886
+ parameters: {
10887
+ query?: never;
10888
+ header?: {
10889
+ /**
10890
+ * @description When authenticating with a platform token, specifies the account ID for the request
10891
+ * @example acct_1234567890
10892
+ */
10893
+ "X-SavvyCal-Account"?: string;
10894
+ };
10895
+ path: {
10896
+ /** @description Service ID */
10897
+ service_id: string;
10898
+ };
10899
+ cookie?: never;
10900
+ };
10901
+ /** @description Service form params */
10902
+ requestBody?: {
10903
+ content: {
10904
+ "application/json": components["schemas"]["AttachServiceFormRequest"];
10905
+ };
10906
+ };
10907
+ responses: {
10908
+ /** @description Success */
10909
+ 201: {
10910
+ headers: {
10911
+ [name: string]: unknown;
10912
+ };
10913
+ content: {
10914
+ "application/json": components["schemas"]["ServiceFormResponse"];
10915
+ };
10916
+ };
10917
+ /** @description Unauthorized */
10918
+ 401: {
10919
+ headers: {
10920
+ [name: string]: unknown;
10921
+ };
10922
+ content: {
10923
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10924
+ };
10925
+ };
10926
+ /** @description Not Found */
10927
+ 404: {
10928
+ headers: {
10929
+ [name: string]: unknown;
10930
+ };
10931
+ content: {
10932
+ "application/json": components["schemas"]["NotFoundResponse"];
10933
+ };
10934
+ };
10935
+ /** @description Unprocessable Entity */
10936
+ 422: {
10937
+ headers: {
10938
+ [name: string]: unknown;
10939
+ };
10940
+ content: {
10941
+ "application/json": components["schemas"]["JsonErrorResponse"];
10942
+ };
10943
+ };
10944
+ };
10945
+ };
9732
10946
  completeBookingIntent: {
9733
10947
  parameters: {
9734
10948
  query?: never;
@@ -10033,10 +11247,13 @@ interface operations {
10033
11247
  };
10034
11248
  getClient: {
10035
11249
  parameters: {
10036
- query?: never;
10037
- header?: {
10038
- /**
10039
- * @description When authenticating with a platform token, specifies the account ID for the request
11250
+ query?: {
11251
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
11252
+ include_sensitive?: boolean;
11253
+ };
11254
+ header?: {
11255
+ /**
11256
+ * @description When authenticating with a platform token, specifies the account ID for the request
10040
11257
  * @example acct_1234567890
10041
11258
  */
10042
11259
  "X-SavvyCal-Account"?: string;
@@ -10559,6 +11776,53 @@ interface operations {
10559
11776
  };
10560
11777
  };
10561
11778
  };
11779
+ detachServiceForm: {
11780
+ parameters: {
11781
+ query?: never;
11782
+ header?: {
11783
+ /**
11784
+ * @description When authenticating with a platform token, specifies the account ID for the request
11785
+ * @example acct_1234567890
11786
+ */
11787
+ "X-SavvyCal-Account"?: string;
11788
+ };
11789
+ path: {
11790
+ /** @description Service Form ID */
11791
+ service_form_id: string;
11792
+ };
11793
+ cookie?: never;
11794
+ };
11795
+ requestBody?: never;
11796
+ responses: {
11797
+ /** @description No Content */
11798
+ 204: {
11799
+ headers: {
11800
+ [name: string]: unknown;
11801
+ };
11802
+ content: {
11803
+ "text/plain": string;
11804
+ };
11805
+ };
11806
+ /** @description Unauthorized */
11807
+ 401: {
11808
+ headers: {
11809
+ [name: string]: unknown;
11810
+ };
11811
+ content: {
11812
+ "application/json": components["schemas"]["UnauthorizedResponse"];
11813
+ };
11814
+ };
11815
+ /** @description Not Found */
11816
+ 404: {
11817
+ headers: {
11818
+ [name: string]: unknown;
11819
+ };
11820
+ content: {
11821
+ "application/json": components["schemas"]["NotFoundResponse"];
11822
+ };
11823
+ };
11824
+ };
11825
+ };
10562
11826
  getAccountById: {
10563
11827
  parameters: {
10564
11828
  query?: never;
@@ -10865,7 +12129,7 @@ interface operations {
10865
12129
  };
10866
12130
  };
10867
12131
  };
10868
- deleteServiceProvider: {
12132
+ getForm: {
10869
12133
  parameters: {
10870
12134
  query?: never;
10871
12135
  header?: {
@@ -10876,20 +12140,20 @@ interface operations {
10876
12140
  "X-SavvyCal-Account"?: string;
10877
12141
  };
10878
12142
  path: {
10879
- /** @description Service Provider ID */
10880
- service_provider_id: string;
12143
+ /** @description Form ID */
12144
+ form_id: string;
10881
12145
  };
10882
12146
  cookie?: never;
10883
12147
  };
10884
12148
  requestBody?: never;
10885
12149
  responses: {
10886
- /** @description No Content */
10887
- 204: {
12150
+ /** @description Success */
12151
+ 200: {
10888
12152
  headers: {
10889
12153
  [name: string]: unknown;
10890
12154
  };
10891
12155
  content: {
10892
- "text/plain": string;
12156
+ "application/json": components["schemas"]["FormResponse"];
10893
12157
  };
10894
12158
  };
10895
12159
  /** @description Unauthorized */
@@ -10912,26 +12176,9 @@ interface operations {
10912
12176
  };
10913
12177
  };
10914
12178
  };
10915
- getEarliestPublicServiceSlot: {
12179
+ deleteForm: {
10916
12180
  parameters: {
10917
- query?: {
10918
- /**
10919
- * @description Time zone for the slot (IANA format)
10920
- * @example "America/New_York"
10921
- */
10922
- time_zone?: string;
10923
- /**
10924
- * @deprecated
10925
- * @description Filter slot by specific provider ID (deprecated, use provider_ids)
10926
- * @example prv_123456789012
10927
- */
10928
- provider_id?: string;
10929
- /**
10930
- * @description Filter slots by provider IDs (comma-separated)
10931
- * @example prv_123456789012,prv_234567890123
10932
- */
10933
- provider_ids?: string;
10934
- };
12181
+ query?: never;
10935
12182
  header?: {
10936
12183
  /**
10937
12184
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -10940,23 +12187,20 @@ interface operations {
10940
12187
  "X-SavvyCal-Account"?: string;
10941
12188
  };
10942
12189
  path: {
10943
- /**
10944
- * @description Service ID
10945
- * @example srv_123456789012
10946
- */
10947
- service_id: string;
12190
+ /** @description Form ID */
12191
+ form_id: string;
10948
12192
  };
10949
12193
  cookie?: never;
10950
12194
  };
10951
12195
  requestBody?: never;
10952
12196
  responses: {
10953
- /** @description Success */
10954
- 200: {
12197
+ /** @description No Content */
12198
+ 204: {
10955
12199
  headers: {
10956
12200
  [name: string]: unknown;
10957
12201
  };
10958
12202
  content: {
10959
- "application/json": components["schemas"]["PublicServiceEarliestSlotResponse"];
12203
+ "text/plain": string;
10960
12204
  };
10961
12205
  };
10962
12206
  /** @description Unauthorized */
@@ -10977,18 +12221,9 @@ interface operations {
10977
12221
  "application/json": components["schemas"]["NotFoundResponse"];
10978
12222
  };
10979
12223
  };
10980
- /** @description Unprocessable Entity */
10981
- 422: {
10982
- headers: {
10983
- [name: string]: unknown;
10984
- };
10985
- content: {
10986
- "application/json": components["schemas"]["JsonErrorResponse"];
10987
- };
10988
- };
10989
12224
  };
10990
12225
  };
10991
- getCancellationReason: {
12226
+ updateForm: {
10992
12227
  parameters: {
10993
12228
  query?: never;
10994
12229
  header?: {
@@ -10999,12 +12234,17 @@ interface operations {
10999
12234
  "X-SavvyCal-Account"?: string;
11000
12235
  };
11001
12236
  path: {
11002
- /** @description Cancellation reason ID */
11003
- cancellation_reason_id: string;
12237
+ /** @description Form ID */
12238
+ form_id: string;
11004
12239
  };
11005
12240
  cookie?: never;
11006
12241
  };
11007
- requestBody?: never;
12242
+ /** @description Form params */
12243
+ requestBody?: {
12244
+ content: {
12245
+ "application/json": components["schemas"]["UpdateFormRequest"];
12246
+ };
12247
+ };
11008
12248
  responses: {
11009
12249
  /** @description Success */
11010
12250
  200: {
@@ -11012,7 +12252,7 @@ interface operations {
11012
12252
  [name: string]: unknown;
11013
12253
  };
11014
12254
  content: {
11015
- "application/json": components["schemas"]["CancellationReasonResponse"];
12255
+ "application/json": components["schemas"]["FormResponse"];
11016
12256
  };
11017
12257
  };
11018
12258
  /** @description Unauthorized */
@@ -11033,9 +12273,18 @@ interface operations {
11033
12273
  "application/json": components["schemas"]["NotFoundResponse"];
11034
12274
  };
11035
12275
  };
12276
+ /** @description Unprocessable Entity */
12277
+ 422: {
12278
+ headers: {
12279
+ [name: string]: unknown;
12280
+ };
12281
+ content: {
12282
+ "application/json": components["schemas"]["JsonErrorResponse"];
12283
+ };
12284
+ };
11036
12285
  };
11037
12286
  };
11038
- deleteCancellationReason: {
12287
+ deleteServiceProvider: {
11039
12288
  parameters: {
11040
12289
  query?: never;
11041
12290
  header?: {
@@ -11046,8 +12295,8 @@ interface operations {
11046
12295
  "X-SavvyCal-Account"?: string;
11047
12296
  };
11048
12297
  path: {
11049
- /** @description Cancellation reason ID */
11050
- cancellation_reason_id: string;
12298
+ /** @description Service Provider ID */
12299
+ service_provider_id: string;
11051
12300
  };
11052
12301
  cookie?: never;
11053
12302
  };
@@ -11082,9 +12331,26 @@ interface operations {
11082
12331
  };
11083
12332
  };
11084
12333
  };
11085
- updateCancellationReason: {
12334
+ getEarliestPublicServiceSlot: {
11086
12335
  parameters: {
11087
- query?: never;
12336
+ query?: {
12337
+ /**
12338
+ * @description Time zone for the slot (IANA format)
12339
+ * @example "America/New_York"
12340
+ */
12341
+ time_zone?: string;
12342
+ /**
12343
+ * @deprecated
12344
+ * @description Filter slot by specific provider ID (deprecated, use provider_ids)
12345
+ * @example prv_123456789012
12346
+ */
12347
+ provider_id?: string;
12348
+ /**
12349
+ * @description Filter slots by provider IDs (comma-separated)
12350
+ * @example prv_123456789012,prv_234567890123
12351
+ */
12352
+ provider_ids?: string;
12353
+ };
11088
12354
  header?: {
11089
12355
  /**
11090
12356
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -11093,17 +12359,15 @@ interface operations {
11093
12359
  "X-SavvyCal-Account"?: string;
11094
12360
  };
11095
12361
  path: {
11096
- /** @description Cancellation reason ID */
11097
- cancellation_reason_id: string;
12362
+ /**
12363
+ * @description Service ID
12364
+ * @example srv_123456789012
12365
+ */
12366
+ service_id: string;
11098
12367
  };
11099
12368
  cookie?: never;
11100
12369
  };
11101
- /** @description Cancellation reason params */
11102
- requestBody?: {
11103
- content: {
11104
- "application/json": components["schemas"]["UpdateCancellationReasonRequest"];
11105
- };
11106
- };
12370
+ requestBody?: never;
11107
12371
  responses: {
11108
12372
  /** @description Success */
11109
12373
  200: {
@@ -11111,7 +12375,7 @@ interface operations {
11111
12375
  [name: string]: unknown;
11112
12376
  };
11113
12377
  content: {
11114
- "application/json": components["schemas"]["CancellationReasonResponse"];
12378
+ "application/json": components["schemas"]["PublicServiceEarliestSlotResponse"];
11115
12379
  };
11116
12380
  };
11117
12381
  /** @description Unauthorized */
@@ -11143,7 +12407,7 @@ interface operations {
11143
12407
  };
11144
12408
  };
11145
12409
  };
11146
- confirmAppointment: {
12410
+ getCancellationReason: {
11147
12411
  parameters: {
11148
12412
  query?: never;
11149
12413
  header?: {
@@ -11154,17 +12418,12 @@ interface operations {
11154
12418
  "X-SavvyCal-Account"?: string;
11155
12419
  };
11156
12420
  path: {
11157
- /** @description Appointment ID */
11158
- appointment_id: string;
12421
+ /** @description Cancellation reason ID */
12422
+ cancellation_reason_id: string;
11159
12423
  };
11160
12424
  cookie?: never;
11161
12425
  };
11162
- /** @description Confirm appointment params */
11163
- requestBody?: {
11164
- content: {
11165
- "application/json": components["schemas"]["ConfirmAppointmentRequest"];
11166
- };
11167
- };
12426
+ requestBody?: never;
11168
12427
  responses: {
11169
12428
  /** @description Success */
11170
12429
  200: {
@@ -11172,7 +12431,7 @@ interface operations {
11172
12431
  [name: string]: unknown;
11173
12432
  };
11174
12433
  content: {
11175
- "application/json": components["schemas"]["AppointmentResponse"];
12434
+ "application/json": components["schemas"]["CancellationReasonResponse"];
11176
12435
  };
11177
12436
  };
11178
12437
  /** @description Unauthorized */
@@ -11184,18 +12443,18 @@ interface operations {
11184
12443
  "application/json": components["schemas"]["UnauthorizedResponse"];
11185
12444
  };
11186
12445
  };
11187
- /** @description Unprocessable Entity */
12446
+ /** @description Not Found */
11188
12447
  404: {
11189
12448
  headers: {
11190
12449
  [name: string]: unknown;
11191
12450
  };
11192
12451
  content: {
11193
- "application/json": components["schemas"]["JsonErrorResponse"];
12452
+ "application/json": components["schemas"]["NotFoundResponse"];
11194
12453
  };
11195
12454
  };
11196
12455
  };
11197
12456
  };
11198
- createProviderSchedule: {
12457
+ deleteCancellationReason: {
11199
12458
  parameters: {
11200
12459
  query?: never;
11201
12460
  header?: {
@@ -11205,23 +12464,21 @@ interface operations {
11205
12464
  */
11206
12465
  "X-SavvyCal-Account"?: string;
11207
12466
  };
11208
- path?: never;
11209
- cookie?: never;
11210
- };
11211
- /** @description Provider schedule params */
11212
- requestBody?: {
11213
- content: {
11214
- "application/json": components["schemas"]["CreateProviderScheduleRequest"];
12467
+ path: {
12468
+ /** @description Cancellation reason ID */
12469
+ cancellation_reason_id: string;
11215
12470
  };
12471
+ cookie?: never;
11216
12472
  };
12473
+ requestBody?: never;
11217
12474
  responses: {
11218
- /** @description Success */
11219
- 201: {
12475
+ /** @description No Content */
12476
+ 204: {
11220
12477
  headers: {
11221
12478
  [name: string]: unknown;
11222
12479
  };
11223
12480
  content: {
11224
- "application/json": components["schemas"]["ProviderScheduleResponse"];
12481
+ "text/plain": string;
11225
12482
  };
11226
12483
  };
11227
12484
  /** @description Unauthorized */
@@ -11233,31 +12490,37 @@ interface operations {
11233
12490
  "application/json": components["schemas"]["UnauthorizedResponse"];
11234
12491
  };
11235
12492
  };
11236
- /** @description Unprocessable Entity */
11237
- 422: {
12493
+ /** @description Not Found */
12494
+ 404: {
11238
12495
  headers: {
11239
12496
  [name: string]: unknown;
11240
12497
  };
11241
12498
  content: {
11242
- "application/json": components["schemas"]["JsonErrorResponse"];
12499
+ "application/json": components["schemas"]["NotFoundResponse"];
11243
12500
  };
11244
12501
  };
11245
12502
  };
11246
12503
  };
11247
- completePublicBookingIntent: {
12504
+ updateCancellationReason: {
11248
12505
  parameters: {
11249
12506
  query?: never;
11250
- header?: never;
12507
+ header?: {
12508
+ /**
12509
+ * @description When authenticating with a platform token, specifies the account ID for the request
12510
+ * @example acct_1234567890
12511
+ */
12512
+ "X-SavvyCal-Account"?: string;
12513
+ };
11251
12514
  path: {
11252
- /** @description Booking Intent ID */
11253
- booking_intent_id: string;
12515
+ /** @description Cancellation reason ID */
12516
+ cancellation_reason_id: string;
11254
12517
  };
11255
12518
  cookie?: never;
11256
12519
  };
11257
- /** @description Complete public booking intent params */
12520
+ /** @description Cancellation reason params */
11258
12521
  requestBody?: {
11259
12522
  content: {
11260
- "application/json": components["schemas"]["CompletePublicBookingIntentRequest"];
12523
+ "application/json": components["schemas"]["UpdateCancellationReasonRequest"];
11261
12524
  };
11262
12525
  };
11263
12526
  responses: {
@@ -11267,16 +12530,25 @@ interface operations {
11267
12530
  [name: string]: unknown;
11268
12531
  };
11269
12532
  content: {
11270
- "application/json": components["schemas"]["PublicBookingIntentResponse"];
12533
+ "application/json": components["schemas"]["CancellationReasonResponse"];
11271
12534
  };
11272
12535
  };
11273
- /** @description Unprocessable Entity */
12536
+ /** @description Unauthorized */
12537
+ 401: {
12538
+ headers: {
12539
+ [name: string]: unknown;
12540
+ };
12541
+ content: {
12542
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12543
+ };
12544
+ };
12545
+ /** @description Not Found */
11274
12546
  404: {
11275
12547
  headers: {
11276
12548
  [name: string]: unknown;
11277
12549
  };
11278
12550
  content: {
11279
- "application/json": components["schemas"]["JsonErrorResponse"];
12551
+ "application/json": components["schemas"]["NotFoundResponse"];
11280
12552
  };
11281
12553
  };
11282
12554
  /** @description Unprocessable Entity */
@@ -11290,9 +12562,16 @@ interface operations {
11290
12562
  };
11291
12563
  };
11292
12564
  };
11293
- listCancellationReasons: {
12565
+ listForms: {
11294
12566
  parameters: {
11295
- query?: never;
12567
+ query?: {
12568
+ /** @description Page number */
12569
+ page?: number;
12570
+ /** @description Number of items per page */
12571
+ page_size?: number;
12572
+ /** @description Filter forms by name. */
12573
+ search?: string;
12574
+ };
11296
12575
  header?: {
11297
12576
  /**
11298
12577
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -11311,7 +12590,7 @@ interface operations {
11311
12590
  [name: string]: unknown;
11312
12591
  };
11313
12592
  content: {
11314
- "application/json": components["schemas"]["CancellationReasonsResponse"];
12593
+ "application/json": components["schemas"]["FormsResponse"];
11315
12594
  };
11316
12595
  };
11317
12596
  /** @description Unauthorized */
@@ -11334,7 +12613,7 @@ interface operations {
11334
12613
  };
11335
12614
  };
11336
12615
  };
11337
- createCancellationReason: {
12616
+ createForm: {
11338
12617
  parameters: {
11339
12618
  query?: never;
11340
12619
  header?: {
@@ -11347,10 +12626,10 @@ interface operations {
11347
12626
  path?: never;
11348
12627
  cookie?: never;
11349
12628
  };
11350
- /** @description Cancellation reason params */
12629
+ /** @description Form params */
11351
12630
  requestBody?: {
11352
12631
  content: {
11353
- "application/json": components["schemas"]["CreateCancellationReasonRequest"];
12632
+ "application/json": components["schemas"]["CreateFormRequest"];
11354
12633
  };
11355
12634
  };
11356
12635
  responses: {
@@ -11360,7 +12639,7 @@ interface operations {
11360
12639
  [name: string]: unknown;
11361
12640
  };
11362
12641
  content: {
11363
- "application/json": components["schemas"]["CancellationReasonResponse"];
12642
+ "application/json": components["schemas"]["FormResponse"];
11364
12643
  };
11365
12644
  };
11366
12645
  /** @description Unauthorized */
@@ -11383,7 +12662,7 @@ interface operations {
11383
12662
  };
11384
12663
  };
11385
12664
  };
11386
- getConnectedAccount: {
12665
+ confirmAppointment: {
11387
12666
  parameters: {
11388
12667
  query?: never;
11389
12668
  header?: {
@@ -11394,8 +12673,248 @@ interface operations {
11394
12673
  "X-SavvyCal-Account"?: string;
11395
12674
  };
11396
12675
  path: {
11397
- /** @description Connected Account ID */
11398
- connected_account_id: string;
12676
+ /** @description Appointment ID */
12677
+ appointment_id: string;
12678
+ };
12679
+ cookie?: never;
12680
+ };
12681
+ /** @description Confirm appointment params */
12682
+ requestBody?: {
12683
+ content: {
12684
+ "application/json": components["schemas"]["ConfirmAppointmentRequest"];
12685
+ };
12686
+ };
12687
+ responses: {
12688
+ /** @description Success */
12689
+ 200: {
12690
+ headers: {
12691
+ [name: string]: unknown;
12692
+ };
12693
+ content: {
12694
+ "application/json": components["schemas"]["AppointmentResponse"];
12695
+ };
12696
+ };
12697
+ /** @description Unauthorized */
12698
+ 401: {
12699
+ headers: {
12700
+ [name: string]: unknown;
12701
+ };
12702
+ content: {
12703
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12704
+ };
12705
+ };
12706
+ /** @description Unprocessable Entity */
12707
+ 404: {
12708
+ headers: {
12709
+ [name: string]: unknown;
12710
+ };
12711
+ content: {
12712
+ "application/json": components["schemas"]["JsonErrorResponse"];
12713
+ };
12714
+ };
12715
+ };
12716
+ };
12717
+ createProviderSchedule: {
12718
+ parameters: {
12719
+ query?: never;
12720
+ header?: {
12721
+ /**
12722
+ * @description When authenticating with a platform token, specifies the account ID for the request
12723
+ * @example acct_1234567890
12724
+ */
12725
+ "X-SavvyCal-Account"?: string;
12726
+ };
12727
+ path?: never;
12728
+ cookie?: never;
12729
+ };
12730
+ /** @description Provider schedule params */
12731
+ requestBody?: {
12732
+ content: {
12733
+ "application/json": components["schemas"]["CreateProviderScheduleRequest"];
12734
+ };
12735
+ };
12736
+ responses: {
12737
+ /** @description Success */
12738
+ 201: {
12739
+ headers: {
12740
+ [name: string]: unknown;
12741
+ };
12742
+ content: {
12743
+ "application/json": components["schemas"]["ProviderScheduleResponse"];
12744
+ };
12745
+ };
12746
+ /** @description Unauthorized */
12747
+ 401: {
12748
+ headers: {
12749
+ [name: string]: unknown;
12750
+ };
12751
+ content: {
12752
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12753
+ };
12754
+ };
12755
+ /** @description Unprocessable Entity */
12756
+ 422: {
12757
+ headers: {
12758
+ [name: string]: unknown;
12759
+ };
12760
+ content: {
12761
+ "application/json": components["schemas"]["JsonErrorResponse"];
12762
+ };
12763
+ };
12764
+ };
12765
+ };
12766
+ completePublicBookingIntent: {
12767
+ parameters: {
12768
+ query?: never;
12769
+ header?: never;
12770
+ path: {
12771
+ /** @description Booking Intent ID */
12772
+ booking_intent_id: string;
12773
+ };
12774
+ cookie?: never;
12775
+ };
12776
+ /** @description Complete public booking intent params */
12777
+ requestBody?: {
12778
+ content: {
12779
+ "application/json": components["schemas"]["CompletePublicBookingIntentRequest"];
12780
+ };
12781
+ };
12782
+ responses: {
12783
+ /** @description Success */
12784
+ 200: {
12785
+ headers: {
12786
+ [name: string]: unknown;
12787
+ };
12788
+ content: {
12789
+ "application/json": components["schemas"]["PublicBookingIntentResponse"];
12790
+ };
12791
+ };
12792
+ /** @description Unprocessable Entity */
12793
+ 404: {
12794
+ headers: {
12795
+ [name: string]: unknown;
12796
+ };
12797
+ content: {
12798
+ "application/json": components["schemas"]["JsonErrorResponse"];
12799
+ };
12800
+ };
12801
+ /** @description Unprocessable Entity */
12802
+ 422: {
12803
+ headers: {
12804
+ [name: string]: unknown;
12805
+ };
12806
+ content: {
12807
+ "application/json": components["schemas"]["JsonErrorResponse"];
12808
+ };
12809
+ };
12810
+ };
12811
+ };
12812
+ listCancellationReasons: {
12813
+ parameters: {
12814
+ query?: never;
12815
+ header?: {
12816
+ /**
12817
+ * @description When authenticating with a platform token, specifies the account ID for the request
12818
+ * @example acct_1234567890
12819
+ */
12820
+ "X-SavvyCal-Account"?: string;
12821
+ };
12822
+ path?: never;
12823
+ cookie?: never;
12824
+ };
12825
+ requestBody?: never;
12826
+ responses: {
12827
+ /** @description Success */
12828
+ 200: {
12829
+ headers: {
12830
+ [name: string]: unknown;
12831
+ };
12832
+ content: {
12833
+ "application/json": components["schemas"]["CancellationReasonsResponse"];
12834
+ };
12835
+ };
12836
+ /** @description Unauthorized */
12837
+ 401: {
12838
+ headers: {
12839
+ [name: string]: unknown;
12840
+ };
12841
+ content: {
12842
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12843
+ };
12844
+ };
12845
+ /** @description Unprocessable Entity */
12846
+ 422: {
12847
+ headers: {
12848
+ [name: string]: unknown;
12849
+ };
12850
+ content: {
12851
+ "application/json": components["schemas"]["JsonErrorResponse"];
12852
+ };
12853
+ };
12854
+ };
12855
+ };
12856
+ createCancellationReason: {
12857
+ parameters: {
12858
+ query?: never;
12859
+ header?: {
12860
+ /**
12861
+ * @description When authenticating with a platform token, specifies the account ID for the request
12862
+ * @example acct_1234567890
12863
+ */
12864
+ "X-SavvyCal-Account"?: string;
12865
+ };
12866
+ path?: never;
12867
+ cookie?: never;
12868
+ };
12869
+ /** @description Cancellation reason params */
12870
+ requestBody?: {
12871
+ content: {
12872
+ "application/json": components["schemas"]["CreateCancellationReasonRequest"];
12873
+ };
12874
+ };
12875
+ responses: {
12876
+ /** @description Success */
12877
+ 201: {
12878
+ headers: {
12879
+ [name: string]: unknown;
12880
+ };
12881
+ content: {
12882
+ "application/json": components["schemas"]["CancellationReasonResponse"];
12883
+ };
12884
+ };
12885
+ /** @description Unauthorized */
12886
+ 401: {
12887
+ headers: {
12888
+ [name: string]: unknown;
12889
+ };
12890
+ content: {
12891
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12892
+ };
12893
+ };
12894
+ /** @description Unprocessable Entity */
12895
+ 422: {
12896
+ headers: {
12897
+ [name: string]: unknown;
12898
+ };
12899
+ content: {
12900
+ "application/json": components["schemas"]["JsonErrorResponse"];
12901
+ };
12902
+ };
12903
+ };
12904
+ };
12905
+ getConnectedAccount: {
12906
+ parameters: {
12907
+ query?: never;
12908
+ header?: {
12909
+ /**
12910
+ * @description When authenticating with a platform token, specifies the account ID for the request
12911
+ * @example acct_1234567890
12912
+ */
12913
+ "X-SavvyCal-Account"?: string;
12914
+ };
12915
+ path: {
12916
+ /** @description Connected Account ID */
12917
+ connected_account_id: string;
11399
12918
  };
11400
12919
  cookie?: never;
11401
12920
  };
@@ -11595,6 +13114,8 @@ interface operations {
11595
13114
  metadata?: {
11596
13115
  [key: string]: unknown;
11597
13116
  };
13117
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
13118
+ include_sensitive?: boolean;
11598
13119
  };
11599
13120
  header?: {
11600
13121
  /**
@@ -12229,6 +13750,67 @@ interface operations {
12229
13750
  };
12230
13751
  };
12231
13752
  };
13753
+ sortServiceForms: {
13754
+ parameters: {
13755
+ query?: never;
13756
+ header?: {
13757
+ /**
13758
+ * @description When authenticating with a platform token, specifies the account ID for the request
13759
+ * @example acct_1234567890
13760
+ */
13761
+ "X-SavvyCal-Account"?: string;
13762
+ };
13763
+ path: {
13764
+ /** @description Service ID */
13765
+ service_id: string;
13766
+ };
13767
+ cookie?: never;
13768
+ };
13769
+ /** @description Sort params */
13770
+ requestBody?: {
13771
+ content: {
13772
+ "application/json": components["schemas"]["SortServiceFormsRequest"];
13773
+ };
13774
+ };
13775
+ responses: {
13776
+ /** @description Success */
13777
+ 200: {
13778
+ headers: {
13779
+ [name: string]: unknown;
13780
+ };
13781
+ content: {
13782
+ "application/json": components["schemas"]["ServiceFormsResponse"];
13783
+ };
13784
+ };
13785
+ /** @description Unauthorized */
13786
+ 401: {
13787
+ headers: {
13788
+ [name: string]: unknown;
13789
+ };
13790
+ content: {
13791
+ "application/json": components["schemas"]["UnauthorizedResponse"];
13792
+ };
13793
+ };
13794
+ /** @description Not Found */
13795
+ 404: {
13796
+ headers: {
13797
+ [name: string]: unknown;
13798
+ };
13799
+ content: {
13800
+ "application/json": components["schemas"]["NotFoundResponse"];
13801
+ };
13802
+ };
13803
+ /** @description Unprocessable Entity */
13804
+ 422: {
13805
+ headers: {
13806
+ [name: string]: unknown;
13807
+ };
13808
+ content: {
13809
+ "application/json": components["schemas"]["JsonErrorResponse"];
13810
+ };
13811
+ };
13812
+ };
13813
+ };
12232
13814
  getCurrentAccount: {
12233
13815
  parameters: {
12234
13816
  query?: never;
@@ -12875,6 +14457,161 @@ interface operations {
12875
14457
  };
12876
14458
  };
12877
14459
  };
14460
+ getClientField: {
14461
+ parameters: {
14462
+ query?: never;
14463
+ header?: {
14464
+ /**
14465
+ * @description When authenticating with a platform token, specifies the account ID for the request
14466
+ * @example acct_1234567890
14467
+ */
14468
+ "X-SavvyCal-Account"?: string;
14469
+ };
14470
+ path: {
14471
+ /** @description Client field ID */
14472
+ client_field_id: string;
14473
+ };
14474
+ cookie?: never;
14475
+ };
14476
+ requestBody?: never;
14477
+ responses: {
14478
+ /** @description Success */
14479
+ 200: {
14480
+ headers: {
14481
+ [name: string]: unknown;
14482
+ };
14483
+ content: {
14484
+ "application/json": components["schemas"]["ClientFieldResponse"];
14485
+ };
14486
+ };
14487
+ /** @description Unauthorized */
14488
+ 401: {
14489
+ headers: {
14490
+ [name: string]: unknown;
14491
+ };
14492
+ content: {
14493
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14494
+ };
14495
+ };
14496
+ /** @description Not Found */
14497
+ 404: {
14498
+ headers: {
14499
+ [name: string]: unknown;
14500
+ };
14501
+ content: {
14502
+ "application/json": components["schemas"]["NotFoundResponse"];
14503
+ };
14504
+ };
14505
+ };
14506
+ };
14507
+ deleteClientField: {
14508
+ parameters: {
14509
+ query?: never;
14510
+ header?: {
14511
+ /**
14512
+ * @description When authenticating with a platform token, specifies the account ID for the request
14513
+ * @example acct_1234567890
14514
+ */
14515
+ "X-SavvyCal-Account"?: string;
14516
+ };
14517
+ path: {
14518
+ /** @description Client field ID */
14519
+ client_field_id: string;
14520
+ };
14521
+ cookie?: never;
14522
+ };
14523
+ requestBody?: never;
14524
+ responses: {
14525
+ /** @description No Content */
14526
+ 204: {
14527
+ headers: {
14528
+ [name: string]: unknown;
14529
+ };
14530
+ content: {
14531
+ "text/plain": string;
14532
+ };
14533
+ };
14534
+ /** @description Unauthorized */
14535
+ 401: {
14536
+ headers: {
14537
+ [name: string]: unknown;
14538
+ };
14539
+ content: {
14540
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14541
+ };
14542
+ };
14543
+ /** @description Not Found */
14544
+ 404: {
14545
+ headers: {
14546
+ [name: string]: unknown;
14547
+ };
14548
+ content: {
14549
+ "application/json": components["schemas"]["NotFoundResponse"];
14550
+ };
14551
+ };
14552
+ };
14553
+ };
14554
+ updateClientField: {
14555
+ parameters: {
14556
+ query?: never;
14557
+ header?: {
14558
+ /**
14559
+ * @description When authenticating with a platform token, specifies the account ID for the request
14560
+ * @example acct_1234567890
14561
+ */
14562
+ "X-SavvyCal-Account"?: string;
14563
+ };
14564
+ path: {
14565
+ /** @description Client field ID */
14566
+ client_field_id: string;
14567
+ };
14568
+ cookie?: never;
14569
+ };
14570
+ /** @description Client field params */
14571
+ requestBody?: {
14572
+ content: {
14573
+ "application/json": components["schemas"]["UpdateClientFieldRequest"];
14574
+ };
14575
+ };
14576
+ responses: {
14577
+ /** @description Success */
14578
+ 200: {
14579
+ headers: {
14580
+ [name: string]: unknown;
14581
+ };
14582
+ content: {
14583
+ "application/json": components["schemas"]["ClientFieldResponse"];
14584
+ };
14585
+ };
14586
+ /** @description Unauthorized */
14587
+ 401: {
14588
+ headers: {
14589
+ [name: string]: unknown;
14590
+ };
14591
+ content: {
14592
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14593
+ };
14594
+ };
14595
+ /** @description Not Found */
14596
+ 404: {
14597
+ headers: {
14598
+ [name: string]: unknown;
14599
+ };
14600
+ content: {
14601
+ "application/json": components["schemas"]["NotFoundResponse"];
14602
+ };
14603
+ };
14604
+ /** @description Unprocessable Entity */
14605
+ 422: {
14606
+ headers: {
14607
+ [name: string]: unknown;
14608
+ };
14609
+ content: {
14610
+ "application/json": components["schemas"]["JsonErrorResponse"];
14611
+ };
14612
+ };
14613
+ };
14614
+ };
12878
14615
  listServiceSlots: {
12879
14616
  parameters: {
12880
14617
  query?: {
@@ -13268,6 +15005,7 @@ type AppointmentDeletedEventData = Schemas["AppointmentDeletedEventData"];
13268
15005
  type AppointmentRescheduledEventData = Schemas["AppointmentRescheduledEventData"];
13269
15006
  type AppointmentResponse = Schemas["AppointmentResponse"];
13270
15007
  type AppointmentsResponse = Schemas["AppointmentsResponse"];
15008
+ type AttachServiceFormRequest = Schemas["AttachServiceFormRequest"];
13271
15009
  type Block = Schemas["Block"];
13272
15010
  type BlockCreatedEventData = Schemas["BlockCreatedEventData"];
13273
15011
  type BlockDeletedEventData = Schemas["BlockDeletedEventData"];
@@ -13292,6 +15030,11 @@ type CancelPublicAppointmentRequest = Schemas["CancelPublicAppointmentRequest"];
13292
15030
  type Client = Schemas["Client"];
13293
15031
  type ClientCreatedEventData = Schemas["ClientCreatedEventData"];
13294
15032
  type ClientDeletedEventData = Schemas["ClientDeletedEventData"];
15033
+ type ClientField = Schemas["ClientField"];
15034
+ type ClientFieldChoice = Schemas["ClientFieldChoice"];
15035
+ type ClientFieldOptions = Schemas["ClientFieldOptions"];
15036
+ type ClientFieldResponse = Schemas["ClientFieldResponse"];
15037
+ type ClientFieldsResponse = Schemas["ClientFieldsResponse"];
13295
15038
  type ClientResponse = Schemas["ClientResponse"];
13296
15039
  type ClientsResponse = Schemas["ClientsResponse"];
13297
15040
  type ClientUpdatedEventData = Schemas["ClientUpdatedEventData"];
@@ -13312,8 +15055,10 @@ type CreateAppointmentRequest = Schemas["CreateAppointmentRequest"];
13312
15055
  type CreateBlockRequest = Schemas["CreateBlockRequest"];
13313
15056
  type CreateBookingIntentRequest = Schemas["CreateBookingIntentRequest"];
13314
15057
  type CreateCancellationReasonRequest = Schemas["CreateCancellationReasonRequest"];
15058
+ type CreateClientFieldRequest = Schemas["CreateClientFieldRequest"];
13315
15059
  type CreateClientRequest = Schemas["CreateClientRequest"];
13316
15060
  type CreateDashboardSessionRequest = Schemas["CreateDashboardSessionRequest"];
15061
+ type CreateFormRequest = Schemas["CreateFormRequest"];
13317
15062
  type CreateProviderRequest = Schemas["CreateProviderRequest"];
13318
15063
  type CreateProviderScheduleRequest = Schemas["CreateProviderScheduleRequest"];
13319
15064
  type CreatePublicAppointmentRequest = Schemas["CreatePublicAppointmentRequest"];
@@ -13322,9 +15067,21 @@ type CreateServiceProviderRequest = Schemas["CreateServiceProviderRequest"];
13322
15067
  type CreateServiceRequest = Schemas["CreateServiceRequest"];
13323
15068
  type DashboardSession = Schemas["DashboardSession"];
13324
15069
  type DashboardSessionResponse = Schemas["DashboardSessionResponse"];
15070
+ type FieldChoice = Schemas["FieldChoice"];
15071
+ type FieldChoiceInput = Schemas["FieldChoiceInput"];
15072
+ type FieldOptions = Schemas["FieldOptions"];
15073
+ type FieldOptionsInput = Schemas["FieldOptionsInput"];
13325
15074
  type ForbiddenResponse = Schemas["ForbiddenResponse"];
15075
+ type Form = Schemas["Form"];
15076
+ type FormDetail = Schemas["FormDetail"];
15077
+ type FormField = Schemas["FormField"];
15078
+ type FormFieldInput = Schemas["FormFieldInput"];
15079
+ type FormResponse = Schemas["FormResponse"];
15080
+ type FormsResponse = Schemas["FormsResponse"];
13326
15081
  type GenericErrorResponse = Schemas["GenericErrorResponse"];
13327
15082
  type HoldPolicy = Schemas["HoldPolicy"];
15083
+ type IntentSubmissionInput = Schemas["IntentSubmissionInput"];
15084
+ type JsonError = Schemas["JsonError"];
13328
15085
  type JsonErrorResponse = Schemas["JsonErrorResponse"];
13329
15086
  type MaximizeUtilizationPolicy = Schemas["MaximizeUtilizationPolicy"];
13330
15087
  type NotFoundResponse = Schemas["NotFoundResponse"];
@@ -13364,6 +15121,9 @@ type RolesResponse = Schemas["RolesResponse"];
13364
15121
  type Service = Schemas["Service"];
13365
15122
  type ServiceCreatedEventData = Schemas["ServiceCreatedEventData"];
13366
15123
  type ServiceDeletedEventData = Schemas["ServiceDeletedEventData"];
15124
+ type ServiceForm = Schemas["ServiceForm"];
15125
+ type ServiceFormResponse = Schemas["ServiceFormResponse"];
15126
+ type ServiceFormsResponse = Schemas["ServiceFormsResponse"];
13367
15127
  type ServiceProvider = Schemas["ServiceProvider"];
13368
15128
  type ServiceProviderCreatedEventData = Schemas["ServiceProviderCreatedEventData"];
13369
15129
  type ServiceProviderDeletedEventData = Schemas["ServiceProviderDeletedEventData"];
@@ -13375,14 +15135,17 @@ type ServicesResponse = Schemas["ServicesResponse"];
13375
15135
  type ServiceUpdatedEventData = Schemas["ServiceUpdatedEventData"];
13376
15136
  type Slot = Schemas["Slot"];
13377
15137
  type SlotRule = Schemas["SlotRule"];
15138
+ type SortServiceFormsRequest = Schemas["SortServiceFormsRequest"];
13378
15139
  type UnauthorizedResponse = Schemas["UnauthorizedResponse"];
13379
15140
  type UpdateAccountRequest = Schemas["UpdateAccountRequest"];
13380
15141
  type UpdateAccountUserRequest = Schemas["UpdateAccountUserRequest"];
13381
15142
  type UpdateBlockRequest = Schemas["UpdateBlockRequest"];
13382
15143
  type UpdateBookingIntentRequest = Schemas["UpdateBookingIntentRequest"];
13383
15144
  type UpdateCancellationReasonRequest = Schemas["UpdateCancellationReasonRequest"];
15145
+ type UpdateClientFieldRequest = Schemas["UpdateClientFieldRequest"];
13384
15146
  type UpdateClientRequest = Schemas["UpdateClientRequest"];
13385
15147
  type UpdateConnectedAccountRequest = Schemas["UpdateConnectedAccountRequest"];
15148
+ type UpdateFormRequest = Schemas["UpdateFormRequest"];
13386
15149
  type UpdateProviderRequest = Schemas["UpdateProviderRequest"];
13387
15150
  type UpdateProviderScheduleRequest = Schemas["UpdateProviderScheduleRequest"];
13388
15151
  type UpdatePublicBookingIntentRequest = Schemas["UpdatePublicBookingIntentRequest"];
@@ -13516,18 +15279,75 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13516
15279
  query?: never;
13517
15280
  header?: never;
13518
15281
  path: {
13519
- booking_intent_id: string;
15282
+ booking_intent_id: string;
15283
+ };
15284
+ cookie?: never;
15285
+ };
15286
+ requestBody?: never;
15287
+ responses: {
15288
+ 200: {
15289
+ headers: {
15290
+ [name: string]: unknown;
15291
+ };
15292
+ content: {
15293
+ "application/json": components["schemas"]["PublicBookingIntentResponse"];
15294
+ };
15295
+ };
15296
+ 404: {
15297
+ headers: {
15298
+ [name: string]: unknown;
15299
+ };
15300
+ content: {
15301
+ "application/json": components["schemas"]["JsonErrorResponse"];
15302
+ };
15303
+ };
15304
+ 422: {
15305
+ headers: {
15306
+ [name: string]: unknown;
15307
+ };
15308
+ content: {
15309
+ "application/json": components["schemas"]["JsonErrorResponse"];
15310
+ };
15311
+ };
15312
+ };
15313
+ }, {
15314
+ params: {
15315
+ path: {
15316
+ booking_intent_id: string;
15317
+ };
15318
+ };
15319
+ }, `${string}/${string}`>>;
15320
+ declare function attachServiceForm(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms", "post">, body: RequestBody<"/v1/services/{service_id}/forms", "post">): Promise<openapi_fetch.FetchResponse<{
15321
+ parameters: {
15322
+ query?: never;
15323
+ header?: {
15324
+ "X-SavvyCal-Account"?: string;
15325
+ };
15326
+ path: {
15327
+ service_id: string;
13520
15328
  };
13521
15329
  cookie?: never;
13522
15330
  };
13523
- requestBody?: never;
15331
+ requestBody?: {
15332
+ content: {
15333
+ "application/json": components["schemas"]["AttachServiceFormRequest"];
15334
+ };
15335
+ };
13524
15336
  responses: {
13525
- 200: {
15337
+ 201: {
13526
15338
  headers: {
13527
15339
  [name: string]: unknown;
13528
15340
  };
13529
15341
  content: {
13530
- "application/json": components["schemas"]["PublicBookingIntentResponse"];
15342
+ "application/json": components["schemas"]["ServiceFormResponse"];
15343
+ };
15344
+ };
15345
+ 401: {
15346
+ headers: {
15347
+ [name: string]: unknown;
15348
+ };
15349
+ content: {
15350
+ "application/json": components["schemas"]["UnauthorizedResponse"];
13531
15351
  };
13532
15352
  };
13533
15353
  404: {
@@ -13535,7 +15355,7 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13535
15355
  [name: string]: unknown;
13536
15356
  };
13537
15357
  content: {
13538
- "application/json": components["schemas"]["JsonErrorResponse"];
15358
+ "application/json": components["schemas"]["NotFoundResponse"];
13539
15359
  };
13540
15360
  };
13541
15361
  422: {
@@ -13548,9 +15368,12 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13548
15368
  };
13549
15369
  };
13550
15370
  }, {
15371
+ body: {
15372
+ form_id: string;
15373
+ } | undefined;
13551
15374
  params: {
13552
15375
  path: {
13553
- booking_intent_id: string;
15376
+ service_id: string;
13554
15377
  };
13555
15378
  };
13556
15379
  }, `${string}/${string}`>>;
@@ -13722,6 +15545,9 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13722
15545
  auto_assign_provider?: boolean | null;
13723
15546
  client_data?: {
13724
15547
  email?: string | null;
15548
+ fields?: {
15549
+ [key: string]: unknown;
15550
+ } | null;
13725
15551
  first_name?: string | null;
13726
15552
  last_name?: string | null;
13727
15553
  locale?: string | null;
@@ -13737,6 +15563,7 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13737
15563
  provider_id?: string | null;
13738
15564
  service_id?: string | null;
13739
15565
  start_at?: string | null;
15566
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13740
15567
  time_zone?: string | null;
13741
15568
  } | undefined;
13742
15569
  params: {
@@ -13790,6 +15617,9 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13790
15617
  auto_assign_provider?: boolean | null;
13791
15618
  client_data?: {
13792
15619
  email?: string | null;
15620
+ fields?: {
15621
+ [key: string]: unknown;
15622
+ } | null;
13793
15623
  first_name?: string | null;
13794
15624
  last_name?: string | null;
13795
15625
  locale?: string | null;
@@ -13801,6 +15631,7 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13801
15631
  provider_id?: string | null;
13802
15632
  service_id?: string | null;
13803
15633
  start_at?: string | null;
15634
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13804
15635
  time_zone?: string | null;
13805
15636
  } | undefined;
13806
15637
  params: {
@@ -14010,6 +15841,9 @@ declare function createAppointment(client: FetchClient, body: RequestBody<"/v1/a
14010
15841
  body: {
14011
15842
  client_data: {
14012
15843
  email?: string | null;
15844
+ fields?: {
15845
+ [key: string]: unknown;
15846
+ } | null;
14013
15847
  first_name?: string | null;
14014
15848
  id?: string | null;
14015
15849
  last_name?: string | null;
@@ -14135,6 +15969,9 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
14135
15969
  auto_assign_provider?: boolean | null;
14136
15970
  client_data?: {
14137
15971
  email?: string | null;
15972
+ fields?: {
15973
+ [key: string]: unknown;
15974
+ } | null;
14138
15975
  first_name?: string | null;
14139
15976
  last_name?: string | null;
14140
15977
  locale?: string | null;
@@ -14154,6 +15991,7 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
14154
15991
  service_id?: string | null;
14155
15992
  slot_prevalidated: boolean;
14156
15993
  start_at?: string | null;
15994
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
14157
15995
  time_zone?: string | null;
14158
15996
  } | undefined;
14159
15997
  }, `${string}/${string}`>>;
@@ -14245,6 +16083,9 @@ declare function createClient(client: FetchClient, body: RequestBody<"/v1/client
14245
16083
  }, {
14246
16084
  body: {
14247
16085
  email: string;
16086
+ fields?: {
16087
+ [key: string]: unknown;
16088
+ };
14248
16089
  first_name: string;
14249
16090
  last_name: string;
14250
16091
  locale?: string;
@@ -14256,6 +16097,56 @@ declare function createClient(client: FetchClient, body: RequestBody<"/v1/client
14256
16097
  time_zone: string;
14257
16098
  } | undefined;
14258
16099
  }, `${string}/${string}`>>;
16100
+ declare function createClientField(client: FetchClient, body: RequestBody<"/v1/client_fields", "post">): Promise<openapi_fetch.FetchResponse<{
16101
+ parameters: {
16102
+ query?: never;
16103
+ header?: {
16104
+ "X-SavvyCal-Account"?: string;
16105
+ };
16106
+ path?: never;
16107
+ cookie?: never;
16108
+ };
16109
+ requestBody?: {
16110
+ content: {
16111
+ "application/json": components["schemas"]["CreateClientFieldRequest"];
16112
+ };
16113
+ };
16114
+ responses: {
16115
+ 201: {
16116
+ headers: {
16117
+ [name: string]: unknown;
16118
+ };
16119
+ content: {
16120
+ "application/json": components["schemas"]["ClientFieldResponse"];
16121
+ };
16122
+ };
16123
+ 401: {
16124
+ headers: {
16125
+ [name: string]: unknown;
16126
+ };
16127
+ content: {
16128
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16129
+ };
16130
+ };
16131
+ 422: {
16132
+ headers: {
16133
+ [name: string]: unknown;
16134
+ };
16135
+ content: {
16136
+ "application/json": components["schemas"]["JsonErrorResponse"];
16137
+ };
16138
+ };
16139
+ };
16140
+ }, {
16141
+ body: {
16142
+ description?: string | null;
16143
+ key: string;
16144
+ label: string;
16145
+ options?: components["schemas"]["ClientFieldOptions"];
16146
+ sensitive?: boolean;
16147
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
16148
+ } | undefined;
16149
+ }, `${string}/${string}`>>;
14259
16150
  declare function createDashboardSession(client: FetchClient, body: RequestBody<"/v1/dashboard_sessions", "post">): Promise<openapi_fetch.FetchResponse<{
14260
16151
  parameters: {
14261
16152
  query?: never;
@@ -14302,6 +16193,52 @@ declare function createDashboardSession(client: FetchClient, body: RequestBody<"
14302
16193
  user_id: string;
14303
16194
  } | undefined;
14304
16195
  }, `${string}/${string}`>>;
16196
+ declare function createForm(client: FetchClient, body: RequestBody<"/v1/forms", "post">): Promise<openapi_fetch.FetchResponse<{
16197
+ parameters: {
16198
+ query?: never;
16199
+ header?: {
16200
+ "X-SavvyCal-Account"?: string;
16201
+ };
16202
+ path?: never;
16203
+ cookie?: never;
16204
+ };
16205
+ requestBody?: {
16206
+ content: {
16207
+ "application/json": components["schemas"]["CreateFormRequest"];
16208
+ };
16209
+ };
16210
+ responses: {
16211
+ 201: {
16212
+ headers: {
16213
+ [name: string]: unknown;
16214
+ };
16215
+ content: {
16216
+ "application/json": components["schemas"]["FormResponse"];
16217
+ };
16218
+ };
16219
+ 401: {
16220
+ headers: {
16221
+ [name: string]: unknown;
16222
+ };
16223
+ content: {
16224
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16225
+ };
16226
+ };
16227
+ 422: {
16228
+ headers: {
16229
+ [name: string]: unknown;
16230
+ };
16231
+ content: {
16232
+ "application/json": components["schemas"]["JsonErrorResponse"];
16233
+ };
16234
+ };
16235
+ };
16236
+ }, {
16237
+ body: {
16238
+ fields?: components["schemas"]["FormFieldInput"][];
16239
+ internal_name: string;
16240
+ } | undefined;
16241
+ }, `${string}/${string}`>>;
14305
16242
  declare function createProvider(client: FetchClient, body: RequestBody<"/v1/providers", "post">): Promise<openapi_fetch.FetchResponse<{
14306
16243
  parameters: {
14307
16244
  query?: never;
@@ -14502,6 +16439,9 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14502
16439
  auto_assign_provider?: boolean | null;
14503
16440
  client_data?: {
14504
16441
  email?: string | null;
16442
+ fields?: {
16443
+ [key: string]: unknown;
16444
+ } | null;
14505
16445
  first_name?: string | null;
14506
16446
  last_name?: string | null;
14507
16447
  locale?: string | null;
@@ -14513,6 +16453,7 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14513
16453
  provider_id?: string | null;
14514
16454
  service_id?: string | null;
14515
16455
  start_at?: string | null;
16456
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
14516
16457
  time_zone?: string | null;
14517
16458
  } | undefined;
14518
16459
  }, `${string}/${string}`>>;
@@ -14563,6 +16504,7 @@ declare function createService(client: FetchClient, body: RequestBody<"/v1/servi
14563
16504
  cancellation_policy?: components["schemas"]["CancellationPolicy"];
14564
16505
  change_policy_text?: string;
14565
16506
  duration?: string;
16507
+ form_ids?: string[];
14566
16508
  internal_name?: string | null;
14567
16509
  metadata?: {
14568
16510
  [key: string]: unknown;
@@ -14611,36 +16553,171 @@ declare function createServiceProvider(client: FetchClient, path: PathParams<"/v
14611
16553
  [name: string]: unknown;
14612
16554
  };
14613
16555
  content: {
14614
- "application/json": components["schemas"]["NotFoundResponse"];
16556
+ "application/json": components["schemas"]["NotFoundResponse"];
16557
+ };
16558
+ };
16559
+ 422: {
16560
+ headers: {
16561
+ [name: string]: unknown;
16562
+ };
16563
+ content: {
16564
+ "application/json": components["schemas"]["JsonErrorResponse"];
16565
+ };
16566
+ };
16567
+ };
16568
+ }, {
16569
+ body: {
16570
+ provider_id: string;
16571
+ } | undefined;
16572
+ params: {
16573
+ path: {
16574
+ service_id: string;
16575
+ };
16576
+ };
16577
+ }, `${string}/${string}`>>;
16578
+ declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16579
+ parameters: {
16580
+ query?: never;
16581
+ header?: {
16582
+ "X-SavvyCal-Account"?: string;
16583
+ };
16584
+ path: {
16585
+ provider_id: string;
16586
+ };
16587
+ cookie?: never;
16588
+ };
16589
+ requestBody?: never;
16590
+ responses: {
16591
+ 204: {
16592
+ headers: {
16593
+ [name: string]: unknown;
16594
+ };
16595
+ content: {
16596
+ "text/plain": string;
16597
+ };
16598
+ };
16599
+ 401: {
16600
+ headers: {
16601
+ [name: string]: unknown;
16602
+ };
16603
+ content: {
16604
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16605
+ };
16606
+ };
16607
+ 404: {
16608
+ headers: {
16609
+ [name: string]: unknown;
16610
+ };
16611
+ content: {
16612
+ "application/json": components["schemas"]["NotFoundResponse"];
16613
+ };
16614
+ };
16615
+ };
16616
+ }, {
16617
+ params: {
16618
+ path: {
16619
+ provider_id: string;
16620
+ };
16621
+ };
16622
+ }, `${string}/${string}`>>;
16623
+ declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16624
+ parameters: {
16625
+ query?: never;
16626
+ header?: {
16627
+ "X-SavvyCal-Account"?: string;
16628
+ };
16629
+ path: {
16630
+ block_id: string;
16631
+ };
16632
+ cookie?: never;
16633
+ };
16634
+ requestBody?: never;
16635
+ responses: {
16636
+ 204: {
16637
+ headers: {
16638
+ [name: string]: unknown;
16639
+ };
16640
+ content: {
16641
+ "text/plain": string;
16642
+ };
16643
+ };
16644
+ 401: {
16645
+ headers: {
16646
+ [name: string]: unknown;
16647
+ };
16648
+ content: {
16649
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16650
+ };
16651
+ };
16652
+ 404: {
16653
+ headers: {
16654
+ [name: string]: unknown;
16655
+ };
16656
+ content: {
16657
+ "application/json": components["schemas"]["NotFoundResponse"];
16658
+ };
16659
+ };
16660
+ };
16661
+ }, {
16662
+ params: {
16663
+ path: {
16664
+ block_id: string;
16665
+ };
16666
+ };
16667
+ }, `${string}/${string}`>>;
16668
+ declare function deleteCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16669
+ parameters: {
16670
+ query?: never;
16671
+ header?: {
16672
+ "X-SavvyCal-Account"?: string;
16673
+ };
16674
+ path: {
16675
+ cancellation_reason_id: string;
16676
+ };
16677
+ cookie?: never;
16678
+ };
16679
+ requestBody?: never;
16680
+ responses: {
16681
+ 204: {
16682
+ headers: {
16683
+ [name: string]: unknown;
16684
+ };
16685
+ content: {
16686
+ "text/plain": string;
16687
+ };
16688
+ };
16689
+ 401: {
16690
+ headers: {
16691
+ [name: string]: unknown;
16692
+ };
16693
+ content: {
16694
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14615
16695
  };
14616
16696
  };
14617
- 422: {
16697
+ 404: {
14618
16698
  headers: {
14619
16699
  [name: string]: unknown;
14620
16700
  };
14621
16701
  content: {
14622
- "application/json": components["schemas"]["JsonErrorResponse"];
16702
+ "application/json": components["schemas"]["NotFoundResponse"];
14623
16703
  };
14624
16704
  };
14625
16705
  };
14626
16706
  }, {
14627
- body: {
14628
- provider_id: string;
14629
- } | undefined;
14630
16707
  params: {
14631
16708
  path: {
14632
- service_id: string;
16709
+ cancellation_reason_id: string;
14633
16710
  };
14634
16711
  };
14635
16712
  }, `${string}/${string}`>>;
14636
- declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16713
+ declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14637
16714
  parameters: {
14638
16715
  query?: never;
14639
16716
  header?: {
14640
16717
  "X-SavvyCal-Account"?: string;
14641
16718
  };
14642
16719
  path: {
14643
- provider_id: string;
16720
+ client_id: string;
14644
16721
  };
14645
16722
  cookie?: never;
14646
16723
  };
@@ -14674,18 +16751,18 @@ declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/p
14674
16751
  }, {
14675
16752
  params: {
14676
16753
  path: {
14677
- provider_id: string;
16754
+ client_id: string;
14678
16755
  };
14679
16756
  };
14680
16757
  }, `${string}/${string}`>>;
14681
- declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16758
+ declare function deleteClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14682
16759
  parameters: {
14683
16760
  query?: never;
14684
16761
  header?: {
14685
16762
  "X-SavvyCal-Account"?: string;
14686
16763
  };
14687
16764
  path: {
14688
- block_id: string;
16765
+ client_field_id: string;
14689
16766
  };
14690
16767
  cookie?: never;
14691
16768
  };
@@ -14719,18 +16796,18 @@ declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{
14719
16796
  }, {
14720
16797
  params: {
14721
16798
  path: {
14722
- block_id: string;
16799
+ client_field_id: string;
14723
16800
  };
14724
16801
  };
14725
16802
  }, `${string}/${string}`>>;
14726
- declare function deleteCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16803
+ declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14727
16804
  parameters: {
14728
16805
  query?: never;
14729
16806
  header?: {
14730
16807
  "X-SavvyCal-Account"?: string;
14731
16808
  };
14732
16809
  path: {
14733
- cancellation_reason_id: string;
16810
+ connected_account_id: string;
14734
16811
  };
14735
16812
  cookie?: never;
14736
16813
  };
@@ -14764,18 +16841,18 @@ declare function deleteCancellationReason(client: FetchClient, path: PathParams<
14764
16841
  }, {
14765
16842
  params: {
14766
16843
  path: {
14767
- cancellation_reason_id: string;
16844
+ connected_account_id: string;
14768
16845
  };
14769
16846
  };
14770
16847
  }, `${string}/${string}`>>;
14771
- declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16848
+ declare function deleteForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14772
16849
  parameters: {
14773
16850
  query?: never;
14774
16851
  header?: {
14775
16852
  "X-SavvyCal-Account"?: string;
14776
16853
  };
14777
16854
  path: {
14778
- client_id: string;
16855
+ form_id: string;
14779
16856
  };
14780
16857
  cookie?: never;
14781
16858
  };
@@ -14809,18 +16886,18 @@ declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients
14809
16886
  }, {
14810
16887
  params: {
14811
16888
  path: {
14812
- client_id: string;
16889
+ form_id: string;
14813
16890
  };
14814
16891
  };
14815
16892
  }, `${string}/${string}`>>;
14816
- declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16893
+ declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/v1/provider_schedules/{provider_schedule_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14817
16894
  parameters: {
14818
16895
  query?: never;
14819
16896
  header?: {
14820
16897
  "X-SavvyCal-Account"?: string;
14821
16898
  };
14822
16899
  path: {
14823
- connected_account_id: string;
16900
+ provider_schedule_id: string;
14824
16901
  };
14825
16902
  cookie?: never;
14826
16903
  };
@@ -14854,18 +16931,18 @@ declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/
14854
16931
  }, {
14855
16932
  params: {
14856
16933
  path: {
14857
- connected_account_id: string;
16934
+ provider_schedule_id: string;
14858
16935
  };
14859
16936
  };
14860
16937
  }, `${string}/${string}`>>;
14861
- declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/v1/provider_schedules/{provider_schedule_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16938
+ declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14862
16939
  parameters: {
14863
16940
  query?: never;
14864
16941
  header?: {
14865
16942
  "X-SavvyCal-Account"?: string;
14866
16943
  };
14867
16944
  path: {
14868
- provider_schedule_id: string;
16945
+ service_id: string;
14869
16946
  };
14870
16947
  cookie?: never;
14871
16948
  };
@@ -14899,18 +16976,18 @@ declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/
14899
16976
  }, {
14900
16977
  params: {
14901
16978
  path: {
14902
- provider_schedule_id: string;
16979
+ service_id: string;
14903
16980
  };
14904
16981
  };
14905
16982
  }, `${string}/${string}`>>;
14906
- declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16983
+ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14907
16984
  parameters: {
14908
16985
  query?: never;
14909
16986
  header?: {
14910
16987
  "X-SavvyCal-Account"?: string;
14911
16988
  };
14912
16989
  path: {
14913
- service_id: string;
16990
+ service_provider_id: string;
14914
16991
  };
14915
16992
  cookie?: never;
14916
16993
  };
@@ -14944,18 +17021,18 @@ declare function deleteService(client: FetchClient, path: PathParams<"/v1/servic
14944
17021
  }, {
14945
17022
  params: {
14946
17023
  path: {
14947
- service_id: string;
17024
+ service_provider_id: string;
14948
17025
  };
14949
17026
  };
14950
17027
  }, `${string}/${string}`>>;
14951
- declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
17028
+ declare function detachServiceForm(client: FetchClient, path: PathParams<"/v1/service_forms/{service_form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14952
17029
  parameters: {
14953
17030
  query?: never;
14954
17031
  header?: {
14955
17032
  "X-SavvyCal-Account"?: string;
14956
17033
  };
14957
17034
  path: {
14958
- service_provider_id: string;
17035
+ service_form_id: string;
14959
17036
  };
14960
17037
  cookie?: never;
14961
17038
  };
@@ -14989,7 +17066,7 @@ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v
14989
17066
  }, {
14990
17067
  params: {
14991
17068
  path: {
14992
- service_provider_id: string;
17069
+ service_form_id: string;
14993
17070
  };
14994
17071
  };
14995
17072
  }, `${string}/${string}`>>;
@@ -15224,9 +17301,11 @@ declare function getCancellationReason(client: FetchClient, path: PathParams<"/v
15224
17301
  };
15225
17302
  };
15226
17303
  }, `${string}/${string}`>>;
15227
- declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17304
+ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">, query?: QueryParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15228
17305
  parameters: {
15229
- query?: never;
17306
+ query?: {
17307
+ include_sensitive?: boolean;
17308
+ };
15230
17309
  header?: {
15231
17310
  "X-SavvyCal-Account"?: string;
15232
17311
  };
@@ -15267,6 +17346,54 @@ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{c
15267
17346
  path: {
15268
17347
  client_id: string;
15269
17348
  };
17349
+ query: {
17350
+ include_sensitive?: boolean;
17351
+ } | undefined;
17352
+ };
17353
+ }, `${string}/${string}`>>;
17354
+ declare function getClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17355
+ parameters: {
17356
+ query?: never;
17357
+ header?: {
17358
+ "X-SavvyCal-Account"?: string;
17359
+ };
17360
+ path: {
17361
+ client_field_id: string;
17362
+ };
17363
+ cookie?: never;
17364
+ };
17365
+ requestBody?: never;
17366
+ responses: {
17367
+ 200: {
17368
+ headers: {
17369
+ [name: string]: unknown;
17370
+ };
17371
+ content: {
17372
+ "application/json": components["schemas"]["ClientFieldResponse"];
17373
+ };
17374
+ };
17375
+ 401: {
17376
+ headers: {
17377
+ [name: string]: unknown;
17378
+ };
17379
+ content: {
17380
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17381
+ };
17382
+ };
17383
+ 404: {
17384
+ headers: {
17385
+ [name: string]: unknown;
17386
+ };
17387
+ content: {
17388
+ "application/json": components["schemas"]["NotFoundResponse"];
17389
+ };
17390
+ };
17391
+ };
17392
+ }, {
17393
+ params: {
17394
+ path: {
17395
+ client_field_id: string;
17396
+ };
15270
17397
  };
15271
17398
  }, `${string}/${string}`>>;
15272
17399
  declare function getConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "get">): Promise<openapi_fetch.FetchResponse<{
@@ -15587,6 +17714,51 @@ declare function getEarliestPublicServiceSlot(client: FetchClient, path: PathPar
15587
17714
  } | undefined;
15588
17715
  };
15589
17716
  }, `${string}/${string}`>>;
17717
+ declare function getForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17718
+ parameters: {
17719
+ query?: never;
17720
+ header?: {
17721
+ "X-SavvyCal-Account"?: string;
17722
+ };
17723
+ path: {
17724
+ form_id: string;
17725
+ };
17726
+ cookie?: never;
17727
+ };
17728
+ requestBody?: never;
17729
+ responses: {
17730
+ 200: {
17731
+ headers: {
17732
+ [name: string]: unknown;
17733
+ };
17734
+ content: {
17735
+ "application/json": components["schemas"]["FormResponse"];
17736
+ };
17737
+ };
17738
+ 401: {
17739
+ headers: {
17740
+ [name: string]: unknown;
17741
+ };
17742
+ content: {
17743
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17744
+ };
17745
+ };
17746
+ 404: {
17747
+ headers: {
17748
+ [name: string]: unknown;
17749
+ };
17750
+ content: {
17751
+ "application/json": components["schemas"]["NotFoundResponse"];
17752
+ };
17753
+ };
17754
+ };
17755
+ }, {
17756
+ params: {
17757
+ path: {
17758
+ form_id: string;
17759
+ };
17760
+ };
17761
+ }, `${string}/${string}`>>;
15590
17762
  declare function getProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15591
17763
  parameters: {
15592
17764
  query?: never;
@@ -16172,10 +18344,128 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16172
18344
  "application/json": components["schemas"]["JsonErrorResponse"];
16173
18345
  };
16174
18346
  };
16175
- };
16176
- }, openapi_fetch.FetchOptions<{
16177
- parameters: {
16178
- query?: never;
18347
+ };
18348
+ }, openapi_fetch.FetchOptions<{
18349
+ parameters: {
18350
+ query?: never;
18351
+ header?: {
18352
+ "X-SavvyCal-Account"?: string;
18353
+ };
18354
+ path?: never;
18355
+ cookie?: never;
18356
+ };
18357
+ requestBody?: never;
18358
+ responses: {
18359
+ 200: {
18360
+ headers: {
18361
+ [name: string]: unknown;
18362
+ };
18363
+ content: {
18364
+ "application/json": components["schemas"]["CancellationReasonsResponse"];
18365
+ };
18366
+ };
18367
+ 401: {
18368
+ headers: {
18369
+ [name: string]: unknown;
18370
+ };
18371
+ content: {
18372
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18373
+ };
18374
+ };
18375
+ 422: {
18376
+ headers: {
18377
+ [name: string]: unknown;
18378
+ };
18379
+ content: {
18380
+ "application/json": components["schemas"]["JsonErrorResponse"];
18381
+ };
18382
+ };
18383
+ };
18384
+ }> | undefined, `${string}/${string}`>>;
18385
+ declare function listClientFields(client: FetchClient): Promise<openapi_fetch.FetchResponse<{
18386
+ parameters: {
18387
+ query?: never;
18388
+ header?: {
18389
+ "X-SavvyCal-Account"?: string;
18390
+ };
18391
+ path?: never;
18392
+ cookie?: never;
18393
+ };
18394
+ requestBody?: never;
18395
+ responses: {
18396
+ 200: {
18397
+ headers: {
18398
+ [name: string]: unknown;
18399
+ };
18400
+ content: {
18401
+ "application/json": components["schemas"]["ClientFieldsResponse"];
18402
+ };
18403
+ };
18404
+ 401: {
18405
+ headers: {
18406
+ [name: string]: unknown;
18407
+ };
18408
+ content: {
18409
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18410
+ };
18411
+ };
18412
+ 422: {
18413
+ headers: {
18414
+ [name: string]: unknown;
18415
+ };
18416
+ content: {
18417
+ "application/json": components["schemas"]["JsonErrorResponse"];
18418
+ };
18419
+ };
18420
+ };
18421
+ }, openapi_fetch.FetchOptions<{
18422
+ parameters: {
18423
+ query?: never;
18424
+ header?: {
18425
+ "X-SavvyCal-Account"?: string;
18426
+ };
18427
+ path?: never;
18428
+ cookie?: never;
18429
+ };
18430
+ requestBody?: never;
18431
+ responses: {
18432
+ 200: {
18433
+ headers: {
18434
+ [name: string]: unknown;
18435
+ };
18436
+ content: {
18437
+ "application/json": components["schemas"]["ClientFieldsResponse"];
18438
+ };
18439
+ };
18440
+ 401: {
18441
+ headers: {
18442
+ [name: string]: unknown;
18443
+ };
18444
+ content: {
18445
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18446
+ };
18447
+ };
18448
+ 422: {
18449
+ headers: {
18450
+ [name: string]: unknown;
18451
+ };
18452
+ content: {
18453
+ "application/json": components["schemas"]["JsonErrorResponse"];
18454
+ };
18455
+ };
18456
+ };
18457
+ }> | undefined, `${string}/${string}`>>;
18458
+ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clients", "get">): Promise<openapi_fetch.FetchResponse<{
18459
+ parameters: {
18460
+ query?: {
18461
+ page?: number;
18462
+ page_size?: number;
18463
+ search?: string;
18464
+ metadata?: {
18465
+ [key: string]: unknown;
18466
+ };
18467
+ include_sensitive?: boolean;
18468
+ };
16179
18469
  header?: {
16180
18470
  "X-SavvyCal-Account"?: string;
16181
18471
  };
@@ -16189,7 +18479,7 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16189
18479
  [name: string]: unknown;
16190
18480
  };
16191
18481
  content: {
16192
- "application/json": components["schemas"]["CancellationReasonsResponse"];
18482
+ "application/json": components["schemas"]["ClientsResponse"];
16193
18483
  };
16194
18484
  };
16195
18485
  401: {
@@ -16209,16 +18499,26 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16209
18499
  };
16210
18500
  };
16211
18501
  };
16212
- }> | undefined, `${string}/${string}`>>;
16213
- declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clients", "get">): Promise<openapi_fetch.FetchResponse<{
16214
- parameters: {
16215
- query?: {
18502
+ }, {
18503
+ params: {
18504
+ query: {
16216
18505
  page?: number;
16217
18506
  page_size?: number;
16218
18507
  search?: string;
16219
18508
  metadata?: {
16220
18509
  [key: string]: unknown;
16221
18510
  };
18511
+ include_sensitive?: boolean;
18512
+ } | undefined;
18513
+ };
18514
+ }, `${string}/${string}`>>;
18515
+ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<"/v1/connected_accounts", "get">): Promise<openapi_fetch.FetchResponse<{
18516
+ parameters: {
18517
+ query?: {
18518
+ page?: number;
18519
+ page_size?: number;
18520
+ user_id?: string;
18521
+ provider?: "google" | "microsoft" | "zoom_admin";
16222
18522
  };
16223
18523
  header?: {
16224
18524
  "X-SavvyCal-Account"?: string;
@@ -16233,7 +18533,7 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16233
18533
  [name: string]: unknown;
16234
18534
  };
16235
18535
  content: {
16236
- "application/json": components["schemas"]["ClientsResponse"];
18536
+ "application/json": components["schemas"]["ConnectedAccountsResponse"];
16237
18537
  };
16238
18538
  };
16239
18539
  401: {
@@ -16258,20 +18558,17 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16258
18558
  query: {
16259
18559
  page?: number;
16260
18560
  page_size?: number;
16261
- search?: string;
16262
- metadata?: {
16263
- [key: string]: unknown;
16264
- };
18561
+ user_id?: string;
18562
+ provider?: "google" | "microsoft" | "zoom_admin";
16265
18563
  } | undefined;
16266
18564
  };
16267
18565
  }, `${string}/${string}`>>;
16268
- declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<"/v1/connected_accounts", "get">): Promise<openapi_fetch.FetchResponse<{
18566
+ declare function listForms(client: FetchClient, query?: QueryParams<"/v1/forms", "get">): Promise<openapi_fetch.FetchResponse<{
16269
18567
  parameters: {
16270
18568
  query?: {
16271
18569
  page?: number;
16272
18570
  page_size?: number;
16273
- user_id?: string;
16274
- provider?: "google" | "microsoft" | "zoom_admin";
18571
+ search?: string;
16275
18572
  };
16276
18573
  header?: {
16277
18574
  "X-SavvyCal-Account"?: string;
@@ -16286,7 +18583,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16286
18583
  [name: string]: unknown;
16287
18584
  };
16288
18585
  content: {
16289
- "application/json": components["schemas"]["ConnectedAccountsResponse"];
18586
+ "application/json": components["schemas"]["FormsResponse"];
16290
18587
  };
16291
18588
  };
16292
18589
  401: {
@@ -16311,8 +18608,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16311
18608
  query: {
16312
18609
  page?: number;
16313
18610
  page_size?: number;
16314
- user_id?: string;
16315
- provider?: "google" | "microsoft" | "zoom_admin";
18611
+ search?: string;
16316
18612
  } | undefined;
16317
18613
  };
16318
18614
  }, `${string}/${string}`>>;
@@ -16598,6 +18894,51 @@ declare function listRoles(client: FetchClient): Promise<openapi_fetch.FetchResp
16598
18894
  };
16599
18895
  };
16600
18896
  }> | undefined, `${string}/${string}`>>;
18897
+ declare function listServiceForms(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms", "get">): Promise<openapi_fetch.FetchResponse<{
18898
+ parameters: {
18899
+ query?: never;
18900
+ header?: {
18901
+ "X-SavvyCal-Account"?: string;
18902
+ };
18903
+ path: {
18904
+ service_id: string;
18905
+ };
18906
+ cookie?: never;
18907
+ };
18908
+ requestBody?: never;
18909
+ responses: {
18910
+ 200: {
18911
+ headers: {
18912
+ [name: string]: unknown;
18913
+ };
18914
+ content: {
18915
+ "application/json": components["schemas"]["ServiceFormsResponse"];
18916
+ };
18917
+ };
18918
+ 401: {
18919
+ headers: {
18920
+ [name: string]: unknown;
18921
+ };
18922
+ content: {
18923
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18924
+ };
18925
+ };
18926
+ 404: {
18927
+ headers: {
18928
+ [name: string]: unknown;
18929
+ };
18930
+ content: {
18931
+ "application/json": components["schemas"]["NotFoundResponse"];
18932
+ };
18933
+ };
18934
+ };
18935
+ }, {
18936
+ params: {
18937
+ path: {
18938
+ service_id: string;
18939
+ };
18940
+ };
18941
+ }, `${string}/${string}`>>;
16601
18942
  declare function listServiceProviders(client: FetchClient, path: PathParams<"/v1/services/{service_id}/providers", "get">): Promise<openapi_fetch.FetchResponse<{
16602
18943
  parameters: {
16603
18944
  query?: never;
@@ -16879,6 +19220,66 @@ declare function reschedulePublicAppointment(client: FetchClient, path: PathPara
16879
19220
  };
16880
19221
  };
16881
19222
  }, `${string}/${string}`>>;
19223
+ declare function sortServiceForms(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms/sort", "post">, body: RequestBody<"/v1/services/{service_id}/forms/sort", "post">): Promise<openapi_fetch.FetchResponse<{
19224
+ parameters: {
19225
+ query?: never;
19226
+ header?: {
19227
+ "X-SavvyCal-Account"?: string;
19228
+ };
19229
+ path: {
19230
+ service_id: string;
19231
+ };
19232
+ cookie?: never;
19233
+ };
19234
+ requestBody?: {
19235
+ content: {
19236
+ "application/json": components["schemas"]["SortServiceFormsRequest"];
19237
+ };
19238
+ };
19239
+ responses: {
19240
+ 200: {
19241
+ headers: {
19242
+ [name: string]: unknown;
19243
+ };
19244
+ content: {
19245
+ "application/json": components["schemas"]["ServiceFormsResponse"];
19246
+ };
19247
+ };
19248
+ 401: {
19249
+ headers: {
19250
+ [name: string]: unknown;
19251
+ };
19252
+ content: {
19253
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19254
+ };
19255
+ };
19256
+ 404: {
19257
+ headers: {
19258
+ [name: string]: unknown;
19259
+ };
19260
+ content: {
19261
+ "application/json": components["schemas"]["NotFoundResponse"];
19262
+ };
19263
+ };
19264
+ 422: {
19265
+ headers: {
19266
+ [name: string]: unknown;
19267
+ };
19268
+ content: {
19269
+ "application/json": components["schemas"]["JsonErrorResponse"];
19270
+ };
19271
+ };
19272
+ };
19273
+ }, {
19274
+ body: {
19275
+ ids: string[];
19276
+ } | undefined;
19277
+ params: {
19278
+ path: {
19279
+ service_id: string;
19280
+ };
19281
+ };
19282
+ }, `${string}/${string}`>>;
16882
19283
  declare function updateAccount(client: FetchClient, path: PathParams<"/v1/accounts/{account_id}", "patch">, body: RequestBody<"/v1/accounts/{account_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
16883
19284
  parameters: {
16884
19285
  query?: never;
@@ -17116,6 +19517,9 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
17116
19517
  auto_assign_provider?: boolean | null;
17117
19518
  client_data?: {
17118
19519
  email?: string | null;
19520
+ fields?: {
19521
+ [key: string]: unknown;
19522
+ } | null;
17119
19523
  first_name?: string | null;
17120
19524
  last_name?: string | null;
17121
19525
  locale?: string | null;
@@ -17135,6 +19539,7 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
17135
19539
  service_id?: string | null;
17136
19540
  slot_prevalidated?: boolean | null;
17137
19541
  start_at?: string | null;
19542
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
17138
19543
  time_zone?: string | null;
17139
19544
  } | undefined;
17140
19545
  params: {
@@ -17256,6 +19661,9 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17256
19661
  }, {
17257
19662
  body: {
17258
19663
  email?: string;
19664
+ fields?: {
19665
+ [key: string]: unknown;
19666
+ };
17259
19667
  first_name?: string;
17260
19668
  last_name?: string;
17261
19669
  locale?: string;
@@ -17272,6 +19680,69 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17272
19680
  };
17273
19681
  };
17274
19682
  }, `${string}/${string}`>>;
19683
+ declare function updateClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "patch">, body: RequestBody<"/v1/client_fields/{client_field_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
19684
+ parameters: {
19685
+ query?: never;
19686
+ header?: {
19687
+ "X-SavvyCal-Account"?: string;
19688
+ };
19689
+ path: {
19690
+ client_field_id: string;
19691
+ };
19692
+ cookie?: never;
19693
+ };
19694
+ requestBody?: {
19695
+ content: {
19696
+ "application/json": components["schemas"]["UpdateClientFieldRequest"];
19697
+ };
19698
+ };
19699
+ responses: {
19700
+ 200: {
19701
+ headers: {
19702
+ [name: string]: unknown;
19703
+ };
19704
+ content: {
19705
+ "application/json": components["schemas"]["ClientFieldResponse"];
19706
+ };
19707
+ };
19708
+ 401: {
19709
+ headers: {
19710
+ [name: string]: unknown;
19711
+ };
19712
+ content: {
19713
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19714
+ };
19715
+ };
19716
+ 404: {
19717
+ headers: {
19718
+ [name: string]: unknown;
19719
+ };
19720
+ content: {
19721
+ "application/json": components["schemas"]["NotFoundResponse"];
19722
+ };
19723
+ };
19724
+ 422: {
19725
+ headers: {
19726
+ [name: string]: unknown;
19727
+ };
19728
+ content: {
19729
+ "application/json": components["schemas"]["JsonErrorResponse"];
19730
+ };
19731
+ };
19732
+ };
19733
+ }, {
19734
+ body: {
19735
+ description?: string | null;
19736
+ label?: string;
19737
+ options?: components["schemas"]["ClientFieldOptions"];
19738
+ sensitive?: boolean;
19739
+ } | undefined;
19740
+ params: {
19741
+ path: {
19742
+ client_field_id: string;
19743
+ };
19744
+ };
19745
+ }, `${string}/${string}`>>;
17275
19746
  declare function updateConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "patch">, body: RequestBody<"/v1/connected_accounts/{connected_account_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
17276
19747
  parameters: {
17277
19748
  query?: never;
@@ -17332,6 +19803,67 @@ declare function updateConnectedAccount(client: FetchClient, path: PathParams<"/
17332
19803
  };
17333
19804
  };
17334
19805
  }, `${string}/${string}`>>;
19806
+ declare function updateForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "patch">, body: RequestBody<"/v1/forms/{form_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
19807
+ parameters: {
19808
+ query?: never;
19809
+ header?: {
19810
+ "X-SavvyCal-Account"?: string;
19811
+ };
19812
+ path: {
19813
+ form_id: string;
19814
+ };
19815
+ cookie?: never;
19816
+ };
19817
+ requestBody?: {
19818
+ content: {
19819
+ "application/json": components["schemas"]["UpdateFormRequest"];
19820
+ };
19821
+ };
19822
+ responses: {
19823
+ 200: {
19824
+ headers: {
19825
+ [name: string]: unknown;
19826
+ };
19827
+ content: {
19828
+ "application/json": components["schemas"]["FormResponse"];
19829
+ };
19830
+ };
19831
+ 401: {
19832
+ headers: {
19833
+ [name: string]: unknown;
19834
+ };
19835
+ content: {
19836
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19837
+ };
19838
+ };
19839
+ 404: {
19840
+ headers: {
19841
+ [name: string]: unknown;
19842
+ };
19843
+ content: {
19844
+ "application/json": components["schemas"]["NotFoundResponse"];
19845
+ };
19846
+ };
19847
+ 422: {
19848
+ headers: {
19849
+ [name: string]: unknown;
19850
+ };
19851
+ content: {
19852
+ "application/json": components["schemas"]["JsonErrorResponse"];
19853
+ };
19854
+ };
19855
+ };
19856
+ }, {
19857
+ body: {
19858
+ fields?: components["schemas"]["FormFieldInput"][];
19859
+ internal_name?: string;
19860
+ } | undefined;
19861
+ params: {
19862
+ path: {
19863
+ form_id: string;
19864
+ };
19865
+ };
19866
+ }, `${string}/${string}`>>;
17335
19867
  declare function updateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "patch">, body: RequestBody<"/v1/providers/{provider_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
17336
19868
  parameters: {
17337
19869
  query?: never;
@@ -17495,6 +20027,9 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17495
20027
  auto_assign_provider?: boolean | null;
17496
20028
  client_data?: {
17497
20029
  email?: string | null;
20030
+ fields?: {
20031
+ [key: string]: unknown;
20032
+ } | null;
17498
20033
  first_name?: string | null;
17499
20034
  last_name?: string | null;
17500
20035
  locale?: string | null;
@@ -17506,6 +20041,7 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17506
20041
  provider_id?: string | null;
17507
20042
  service_id?: string | null;
17508
20043
  start_at?: string | null;
20044
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
17509
20045
  time_zone?: string | null;
17510
20046
  } | undefined;
17511
20047
  params: {
@@ -17587,4 +20123,4 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
17587
20123
  };
17588
20124
  }, `${string}/${string}`>>;
17589
20125
 
17590
- export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserCreatedEventData, type AccountUserDeletedEventData, type AccountUserResponse, type AccountUserUpdatedEventData, type AccountUsersResponse, type AccountsResponse, type AdvanceNoticePolicy, type AggregatedSlot, type Appointment, type AppointmentCanceledEventData, type AppointmentConfirmedEventData, type AppointmentCreatedEventData, type AppointmentDeletedEventData, type AppointmentRescheduledEventData, type AppointmentResponse, type AppointmentsResponse, type Block, type BlockCreatedEventData, type BlockDeletedEventData, type BlockResponse, type BlockUpdatedEventData, type BlocksResponse, type BookingIntent, type BookingIntentAbandonedEventData, type BookingIntentCompletedEventData, type BookingIntentCreatedEventData, type BookingIntentResponse, type BookingIntentUpdatedEventData, type BookingIntentsResponse, type BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientCreatedEventData, type ClientDeletedEventData, type ClientResponse, type ClientUpdatedEventData, type ClientsResponse, type CompleteBookingIntentRequest, type CompletePublicBookingIntentRequest, type ConfirmAppointmentRequest, type ConfirmationEvent, type ConnectedAccount, type ConnectedAccountCreatedEventData, type ConnectedAccountDeletedEventData, type ConnectedAccountReconnectedEventData, type ConnectedAccountRefreshFailedEventData, type ConnectedAccountResponse, type ConnectedAccountsResponse, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateBookingIntentRequest, type CreateCancellationReasonRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreatePublicBookingIntentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type ForbiddenResponse, type GenericErrorResponse, type HoldPolicy, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderCreatedEventData, type ProviderDeactivatedEventData, type ProviderNotificationConfig, type ProviderNotificationType, type ProviderReactivatedEventData, type ProviderResponse, type ProviderSchedule, type ProviderScheduleCreatedEventData, type ProviderScheduleDeletedEventData, type ProviderScheduleResponse, type ProviderScheduleUpdatedEventData, type ProviderSchedulesResponse, type ProviderUpdatedEventData, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, type PublicBookingIntent, type PublicBookingIntentResponse, type PublicCancellationReason, type PublicCancellationReasonsResponse, type PublicServiceEarliestSlotResponse, type PublicServiceSlotsResponse, type QueryParams, type RecurrenceRule, type RequestBody, type RescheduleAppointmentRequest, type RescheduleEvent, type ReschedulePublicAppointmentRequest, type ReschedulingPolicy, type Role, type RolesResponse, type Service, type ServiceCreatedEventData, type ServiceDeletedEventData, type ServiceProvider, type ServiceProviderCreatedEventData, type ServiceProviderDeletedEventData, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServiceUpdatedEventData, type ServicesResponse, type Slot, type SlotRule, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateAccountUserRequest, type UpdateBlockRequest, type UpdateBookingIntentRequest, type UpdateCancellationReasonRequest, type UpdateClientRequest, type UpdateConnectedAccountRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdatePublicBookingIntentRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, abandonBookingIntent, abandonPublicBookingIntent, cancelAppointment, cancelPublicAppointment, completeBookingIntent, completePublicBookingIntent, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createBookingIntent, createCancellationReason, createClient, createDashboardSession, createFetchClient, createProvider, createProviderSchedule, createPublicAppointment, createPublicBookingIntent, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteConnectedAccount, deleteProviderSchedule, deleteService, deleteServiceProvider, getAccountById, getAppointment, getBlock, getBookingIntent, getCancellationReason, getClient, getConnectedAccount, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getProvider, getProviderSchedule, getPublicAppointment, getPublicBookingIntent, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listBookingIntents, listCancellationReasons, listClients, listConnectedAccounts, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, updateAccount, updateAccountUser, updateBlock, updateBookingIntent, updateCancellationReason, updateClient, updateConnectedAccount, updateProvider, updateProviderSchedule, updatePublicBookingIntent, updateService };
20126
+ export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserCreatedEventData, type AccountUserDeletedEventData, type AccountUserResponse, type AccountUserUpdatedEventData, type AccountUsersResponse, type AccountsResponse, type AdvanceNoticePolicy, type AggregatedSlot, type Appointment, type AppointmentCanceledEventData, type AppointmentConfirmedEventData, type AppointmentCreatedEventData, type AppointmentDeletedEventData, type AppointmentRescheduledEventData, type AppointmentResponse, type AppointmentsResponse, type AttachServiceFormRequest, type Block, type BlockCreatedEventData, type BlockDeletedEventData, type BlockResponse, type BlockUpdatedEventData, type BlocksResponse, type BookingIntent, type BookingIntentAbandonedEventData, type BookingIntentCompletedEventData, type BookingIntentCreatedEventData, type BookingIntentResponse, type BookingIntentUpdatedEventData, type BookingIntentsResponse, type BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientCreatedEventData, type ClientDeletedEventData, type ClientField, type ClientFieldChoice, type ClientFieldOptions, type ClientFieldResponse, type ClientFieldsResponse, type ClientResponse, type ClientUpdatedEventData, type ClientsResponse, type CompleteBookingIntentRequest, type CompletePublicBookingIntentRequest, type ConfirmAppointmentRequest, type ConfirmationEvent, type ConnectedAccount, type ConnectedAccountCreatedEventData, type ConnectedAccountDeletedEventData, type ConnectedAccountReconnectedEventData, type ConnectedAccountRefreshFailedEventData, type ConnectedAccountResponse, type ConnectedAccountsResponse, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateBookingIntentRequest, type CreateCancellationReasonRequest, type CreateClientFieldRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateFormRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreatePublicBookingIntentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type FieldChoice, type FieldChoiceInput, type FieldOptions, type FieldOptionsInput, type ForbiddenResponse, type Form, type FormDetail, type FormField, type FormFieldInput, type FormResponse, type FormsResponse, type GenericErrorResponse, type HoldPolicy, type IntentSubmissionInput, type JsonError, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderCreatedEventData, type ProviderDeactivatedEventData, type ProviderNotificationConfig, type ProviderNotificationType, type ProviderReactivatedEventData, type ProviderResponse, type ProviderSchedule, type ProviderScheduleCreatedEventData, type ProviderScheduleDeletedEventData, type ProviderScheduleResponse, type ProviderScheduleUpdatedEventData, type ProviderSchedulesResponse, type ProviderUpdatedEventData, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, type PublicBookingIntent, type PublicBookingIntentResponse, type PublicCancellationReason, type PublicCancellationReasonsResponse, type PublicServiceEarliestSlotResponse, type PublicServiceSlotsResponse, type QueryParams, type RecurrenceRule, type RequestBody, type RescheduleAppointmentRequest, type RescheduleEvent, type ReschedulePublicAppointmentRequest, type ReschedulingPolicy, type Role, type RolesResponse, type Service, type ServiceCreatedEventData, type ServiceDeletedEventData, type ServiceForm, type ServiceFormResponse, type ServiceFormsResponse, type ServiceProvider, type ServiceProviderCreatedEventData, type ServiceProviderDeletedEventData, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServiceUpdatedEventData, type ServicesResponse, type Slot, type SlotRule, type SortServiceFormsRequest, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateAccountUserRequest, type UpdateBlockRequest, type UpdateBookingIntentRequest, type UpdateCancellationReasonRequest, type UpdateClientFieldRequest, type UpdateClientRequest, type UpdateConnectedAccountRequest, type UpdateFormRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdatePublicBookingIntentRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, abandonBookingIntent, abandonPublicBookingIntent, attachServiceForm, cancelAppointment, cancelPublicAppointment, completeBookingIntent, completePublicBookingIntent, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createBookingIntent, createCancellationReason, createClient, createClientField, createDashboardSession, createFetchClient, createForm, createProvider, createProviderSchedule, createPublicAppointment, createPublicBookingIntent, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteClientField, deleteConnectedAccount, deleteForm, deleteProviderSchedule, deleteService, deleteServiceProvider, detachServiceForm, getAccountById, getAppointment, getBlock, getBookingIntent, getCancellationReason, getClient, getClientField, getConnectedAccount, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getForm, getProvider, getProviderSchedule, getPublicAppointment, getPublicBookingIntent, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listBookingIntents, listCancellationReasons, listClientFields, listClients, listConnectedAccounts, listForms, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceForms, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, sortServiceForms, updateAccount, updateAccountUser, updateBlock, updateBookingIntent, updateCancellationReason, updateClient, updateClientField, updateConnectedAccount, updateForm, updateProvider, updateProviderSchedule, updatePublicBookingIntent, updateService };