@savvycal/appointments-core 0.2.0 → 0.3.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.cts CHANGED
@@ -142,6 +142,26 @@ interface paths {
142
142
  patch?: never;
143
143
  trace?: never;
144
144
  };
145
+ "/v1/users/{user_id}": {
146
+ parameters: {
147
+ query?: never;
148
+ header?: never;
149
+ path?: never;
150
+ cookie?: never;
151
+ };
152
+ get?: never;
153
+ put?: never;
154
+ post?: never;
155
+ delete?: never;
156
+ options?: never;
157
+ head?: never;
158
+ /**
159
+ * Update account user
160
+ * @description Update a user's settings in the specified account.
161
+ */
162
+ patch: operations["updateAccountUser"];
163
+ trace?: never;
164
+ };
145
165
  "/v1/clients/{client_id}": {
146
166
  parameters: {
147
167
  query?: never;
@@ -2894,6 +2914,7 @@ interface components {
2894
2914
  * @description This is an object representing a user in an account.
2895
2915
  * @example {
2896
2916
  * "object": "account_user",
2917
+ * "passive": false,
2897
2918
  * "roles": [
2898
2919
  * {
2899
2920
  * "id": "role_123456789012",
@@ -2919,6 +2940,8 @@ interface components {
2919
2940
  * @enum {string}
2920
2941
  */
2921
2942
  object: "account_user";
2943
+ /** @description Whether this user is passive. Passive users do not receive direct email notifications (e.g., OAuth reconnection notices). */
2944
+ passive: boolean;
2922
2945
  /** @description The roles assigned to the user in this account. */
2923
2946
  roles: components["schemas"]["Role"][];
2924
2947
  user: components["schemas"]["User"];
@@ -3512,6 +3535,7 @@ interface components {
3512
3535
  * "first_name": "John",
3513
3536
  * "last_name": "Doe",
3514
3537
  * "notify": false,
3538
+ * "passive": false,
3515
3539
  * "role_ids": [
3516
3540
  * "role_123456789012"
3517
3541
  * ],
@@ -3540,11 +3564,102 @@ interface components {
3540
3564
  * @default false
3541
3565
  */
3542
3566
  notify: boolean;
3567
+ /**
3568
+ * @description Whether this user is passive. Passive users do not receive direct email notifications (e.g., OAuth reconnection notices). Use this for platform/headless scenarios where the platform handles user communication.
3569
+ * @default false
3570
+ */
3571
+ passive: boolean;
3543
3572
  /** @description List of role IDs to assign to the user. */
3544
3573
  role_ids?: string[];
3545
3574
  /** @description The user's time zone. */
3546
3575
  time_zone?: string;
3547
3576
  };
3577
+ /**
3578
+ * ConnectedAccountDeletedEventData
3579
+ * @description This is an object representing data for the connected account deleted event.
3580
+ * @example {
3581
+ * "object": {
3582
+ * "connection_scope": "user",
3583
+ * "created_at": "2025-03-12T12:34:55Z",
3584
+ * "display_name": "John Doe",
3585
+ * "email": "user@example.com",
3586
+ * "external_subject": "123456789",
3587
+ * "id": "cact_d025a96ac0c6",
3588
+ * "object": "connected_account",
3589
+ * "provider": "google",
3590
+ * "status": "active",
3591
+ * "updated_at": "2025-03-13T10:11:12Z",
3592
+ * "user_id": "user_d025a96ac0c6"
3593
+ * },
3594
+ * "type": "connected_account.deleted"
3595
+ * }
3596
+ */
3597
+ ConnectedAccountDeletedEventData: {
3598
+ /**
3599
+ * ConnectedAccount
3600
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
3601
+ * @example {
3602
+ * "connection_scope": "user",
3603
+ * "created_at": "2025-03-12T12:34:55Z",
3604
+ * "display_name": "John Doe",
3605
+ * "email": "user@example.com",
3606
+ * "external_subject": "123456789",
3607
+ * "id": "cact_d025a96ac0c6",
3608
+ * "object": "connected_account",
3609
+ * "provider": "google",
3610
+ * "status": "active",
3611
+ * "updated_at": "2025-03-13T10:11:12Z",
3612
+ * "user_id": "user_d025a96ac0c6"
3613
+ * }
3614
+ */
3615
+ object: {
3616
+ /**
3617
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
3618
+ * @enum {string}
3619
+ */
3620
+ connection_scope: "user" | "account";
3621
+ /**
3622
+ * Format: date-time
3623
+ * @description Time at which the object was created.
3624
+ */
3625
+ created_at: string;
3626
+ /** @description The display name from the provider. */
3627
+ display_name: string | null;
3628
+ /** @description The email address associated with this connected account. */
3629
+ email: string;
3630
+ /** @description The unique identifier for this account at the provider. */
3631
+ external_subject: string;
3632
+ /** @description Unique identifier for the object. */
3633
+ id: string;
3634
+ /**
3635
+ * @description String representing the object's type.
3636
+ * @enum {string}
3637
+ */
3638
+ object: "connected_account";
3639
+ /**
3640
+ * @description The calendar provider for this connected account.
3641
+ * @enum {string}
3642
+ */
3643
+ provider: "google";
3644
+ /**
3645
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
3646
+ * @enum {string}
3647
+ */
3648
+ status: "active" | "reconnect_required";
3649
+ /**
3650
+ * Format: date-time
3651
+ * @description Time at which the object was last updated.
3652
+ */
3653
+ updated_at: string;
3654
+ /** @description The ID of the user who owns this connected account. */
3655
+ user_id: string | null;
3656
+ };
3657
+ /**
3658
+ * @description The event type. (enum property replaced by openapi-typescript)
3659
+ * @enum {string}
3660
+ */
3661
+ type: "connected_account.deleted";
3662
+ };
3548
3663
  /**
3549
3664
  * RolesResponse
3550
3665
  * @description Response schema for multiple roles
@@ -3989,6 +4104,92 @@ interface components {
3989
4104
  /** @description Array of start times for slots. */
3990
4105
  start_times: string[];
3991
4106
  };
4107
+ /**
4108
+ * ConnectedAccountReconnectedEventData
4109
+ * @description This is an object representing data for the connected account reconnected event. This event is triggered when a previously failed connection is successfully reauthenticated.
4110
+ * @example {
4111
+ * "object": {
4112
+ * "connection_scope": "user",
4113
+ * "created_at": "2025-03-12T12:34:55Z",
4114
+ * "display_name": "John Doe",
4115
+ * "email": "user@example.com",
4116
+ * "external_subject": "123456789",
4117
+ * "id": "cact_d025a96ac0c6",
4118
+ * "object": "connected_account",
4119
+ * "provider": "google",
4120
+ * "status": "active",
4121
+ * "updated_at": "2025-03-13T10:11:12Z",
4122
+ * "user_id": "user_d025a96ac0c6"
4123
+ * },
4124
+ * "type": "connected_account.reconnected"
4125
+ * }
4126
+ */
4127
+ ConnectedAccountReconnectedEventData: {
4128
+ /**
4129
+ * ConnectedAccount
4130
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
4131
+ * @example {
4132
+ * "connection_scope": "user",
4133
+ * "created_at": "2025-03-12T12:34:55Z",
4134
+ * "display_name": "John Doe",
4135
+ * "email": "user@example.com",
4136
+ * "external_subject": "123456789",
4137
+ * "id": "cact_d025a96ac0c6",
4138
+ * "object": "connected_account",
4139
+ * "provider": "google",
4140
+ * "status": "active",
4141
+ * "updated_at": "2025-03-13T10:11:12Z",
4142
+ * "user_id": "user_d025a96ac0c6"
4143
+ * }
4144
+ */
4145
+ object: {
4146
+ /**
4147
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
4148
+ * @enum {string}
4149
+ */
4150
+ connection_scope: "user" | "account";
4151
+ /**
4152
+ * Format: date-time
4153
+ * @description Time at which the object was created.
4154
+ */
4155
+ created_at: string;
4156
+ /** @description The display name from the provider. */
4157
+ display_name: string | null;
4158
+ /** @description The email address associated with this connected account. */
4159
+ email: string;
4160
+ /** @description The unique identifier for this account at the provider. */
4161
+ external_subject: string;
4162
+ /** @description Unique identifier for the object. */
4163
+ id: string;
4164
+ /**
4165
+ * @description String representing the object's type.
4166
+ * @enum {string}
4167
+ */
4168
+ object: "connected_account";
4169
+ /**
4170
+ * @description The calendar provider for this connected account.
4171
+ * @enum {string}
4172
+ */
4173
+ provider: "google";
4174
+ /**
4175
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
4176
+ * @enum {string}
4177
+ */
4178
+ status: "active" | "reconnect_required";
4179
+ /**
4180
+ * Format: date-time
4181
+ * @description Time at which the object was last updated.
4182
+ */
4183
+ updated_at: string;
4184
+ /** @description The ID of the user who owns this connected account. */
4185
+ user_id: string | null;
4186
+ };
4187
+ /**
4188
+ * @description The event type. (enum property replaced by openapi-typescript)
4189
+ * @enum {string}
4190
+ */
4191
+ type: "connected_account.reconnected";
4192
+ };
3992
4193
  /**
3993
4194
  * Client
3994
4195
  * @description This is an object representing a client.
@@ -4144,6 +4345,7 @@ interface components {
4144
4345
  * @description Response schema for a single account user
4145
4346
  * @example {
4146
4347
  * "object": "account_user",
4348
+ * "passive": false,
4147
4349
  * "roles": [
4148
4350
  * {
4149
4351
  * "id": "role_123456789012",
@@ -4169,6 +4371,8 @@ interface components {
4169
4371
  * @enum {string}
4170
4372
  */
4171
4373
  object: "account_user";
4374
+ /** @description Whether this user is passive. Passive users do not receive direct email notifications (e.g., OAuth reconnection notices). */
4375
+ passive: boolean;
4172
4376
  /** @description The roles assigned to the user in this account. */
4173
4377
  roles: components["schemas"]["Role"][];
4174
4378
  user: components["schemas"]["User"];
@@ -5548,6 +5752,92 @@ interface components {
5548
5752
  /** @description IANA time zone name */
5549
5753
  time_zone: string;
5550
5754
  };
5755
+ /**
5756
+ * ConnectedAccountRefreshFailedEventData
5757
+ * @description This is an object representing data for the connected account refresh failed event. This event is triggered when an OAuth token refresh permanently fails, indicating the integration needs to be reauthorized.
5758
+ * @example {
5759
+ * "object": {
5760
+ * "connection_scope": "user",
5761
+ * "created_at": "2025-03-12T12:34:55Z",
5762
+ * "display_name": "John Doe",
5763
+ * "email": "user@example.com",
5764
+ * "external_subject": "123456789",
5765
+ * "id": "cact_d025a96ac0c6",
5766
+ * "object": "connected_account",
5767
+ * "provider": "google",
5768
+ * "status": "active",
5769
+ * "updated_at": "2025-03-13T10:11:12Z",
5770
+ * "user_id": "user_d025a96ac0c6"
5771
+ * },
5772
+ * "type": "connected_account.refresh_failed"
5773
+ * }
5774
+ */
5775
+ ConnectedAccountRefreshFailedEventData: {
5776
+ /**
5777
+ * ConnectedAccount
5778
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
5779
+ * @example {
5780
+ * "connection_scope": "user",
5781
+ * "created_at": "2025-03-12T12:34:55Z",
5782
+ * "display_name": "John Doe",
5783
+ * "email": "user@example.com",
5784
+ * "external_subject": "123456789",
5785
+ * "id": "cact_d025a96ac0c6",
5786
+ * "object": "connected_account",
5787
+ * "provider": "google",
5788
+ * "status": "active",
5789
+ * "updated_at": "2025-03-13T10:11:12Z",
5790
+ * "user_id": "user_d025a96ac0c6"
5791
+ * }
5792
+ */
5793
+ object: {
5794
+ /**
5795
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
5796
+ * @enum {string}
5797
+ */
5798
+ connection_scope: "user" | "account";
5799
+ /**
5800
+ * Format: date-time
5801
+ * @description Time at which the object was created.
5802
+ */
5803
+ created_at: string;
5804
+ /** @description The display name from the provider. */
5805
+ display_name: string | null;
5806
+ /** @description The email address associated with this connected account. */
5807
+ email: string;
5808
+ /** @description The unique identifier for this account at the provider. */
5809
+ external_subject: string;
5810
+ /** @description Unique identifier for the object. */
5811
+ id: string;
5812
+ /**
5813
+ * @description String representing the object's type.
5814
+ * @enum {string}
5815
+ */
5816
+ object: "connected_account";
5817
+ /**
5818
+ * @description The calendar provider for this connected account.
5819
+ * @enum {string}
5820
+ */
5821
+ provider: "google";
5822
+ /**
5823
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
5824
+ * @enum {string}
5825
+ */
5826
+ status: "active" | "reconnect_required";
5827
+ /**
5828
+ * Format: date-time
5829
+ * @description Time at which the object was last updated.
5830
+ */
5831
+ updated_at: string;
5832
+ /** @description The ID of the user who owns this connected account. */
5833
+ user_id: string | null;
5834
+ };
5835
+ /**
5836
+ * @description The event type. (enum property replaced by openapi-typescript)
5837
+ * @enum {string}
5838
+ */
5839
+ type: "connected_account.refresh_failed";
5840
+ };
5551
5841
  /**
5552
5842
  * AccountEvent
5553
5843
  * @description This is an object representing an account event in the app.
@@ -11604,6 +11894,266 @@ interface components {
11604
11894
  * @enum {string}
11605
11895
  */
11606
11896
  type: "block.deleted";
11897
+ } | {
11898
+ /**
11899
+ * ConnectedAccount
11900
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
11901
+ * @example {
11902
+ * "connection_scope": "user",
11903
+ * "created_at": "2025-03-12T12:34:55Z",
11904
+ * "display_name": "John Doe",
11905
+ * "email": "user@example.com",
11906
+ * "external_subject": "123456789",
11907
+ * "id": "cact_d025a96ac0c6",
11908
+ * "object": "connected_account",
11909
+ * "provider": "google",
11910
+ * "status": "active",
11911
+ * "updated_at": "2025-03-13T10:11:12Z",
11912
+ * "user_id": "user_d025a96ac0c6"
11913
+ * }
11914
+ */
11915
+ object: {
11916
+ /**
11917
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
11918
+ * @enum {string}
11919
+ */
11920
+ connection_scope: "user" | "account";
11921
+ /**
11922
+ * Format: date-time
11923
+ * @description Time at which the object was created.
11924
+ */
11925
+ created_at: string;
11926
+ /** @description The display name from the provider. */
11927
+ display_name: string | null;
11928
+ /** @description The email address associated with this connected account. */
11929
+ email: string;
11930
+ /** @description The unique identifier for this account at the provider. */
11931
+ external_subject: string;
11932
+ /** @description Unique identifier for the object. */
11933
+ id: string;
11934
+ /**
11935
+ * @description String representing the object's type.
11936
+ * @enum {string}
11937
+ */
11938
+ object: "connected_account";
11939
+ /**
11940
+ * @description The calendar provider for this connected account.
11941
+ * @enum {string}
11942
+ */
11943
+ provider: "google";
11944
+ /**
11945
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
11946
+ * @enum {string}
11947
+ */
11948
+ status: "active" | "reconnect_required";
11949
+ /**
11950
+ * Format: date-time
11951
+ * @description Time at which the object was last updated.
11952
+ */
11953
+ updated_at: string;
11954
+ /** @description The ID of the user who owns this connected account. */
11955
+ user_id: string | null;
11956
+ };
11957
+ /**
11958
+ * @description The event type.
11959
+ * @enum {string}
11960
+ */
11961
+ type: "connected_account.created";
11962
+ } | {
11963
+ /**
11964
+ * ConnectedAccount
11965
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
11966
+ * @example {
11967
+ * "connection_scope": "user",
11968
+ * "created_at": "2025-03-12T12:34:55Z",
11969
+ * "display_name": "John Doe",
11970
+ * "email": "user@example.com",
11971
+ * "external_subject": "123456789",
11972
+ * "id": "cact_d025a96ac0c6",
11973
+ * "object": "connected_account",
11974
+ * "provider": "google",
11975
+ * "status": "active",
11976
+ * "updated_at": "2025-03-13T10:11:12Z",
11977
+ * "user_id": "user_d025a96ac0c6"
11978
+ * }
11979
+ */
11980
+ object: {
11981
+ /**
11982
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
11983
+ * @enum {string}
11984
+ */
11985
+ connection_scope: "user" | "account";
11986
+ /**
11987
+ * Format: date-time
11988
+ * @description Time at which the object was created.
11989
+ */
11990
+ created_at: string;
11991
+ /** @description The display name from the provider. */
11992
+ display_name: string | null;
11993
+ /** @description The email address associated with this connected account. */
11994
+ email: string;
11995
+ /** @description The unique identifier for this account at the provider. */
11996
+ external_subject: string;
11997
+ /** @description Unique identifier for the object. */
11998
+ id: string;
11999
+ /**
12000
+ * @description String representing the object's type.
12001
+ * @enum {string}
12002
+ */
12003
+ object: "connected_account";
12004
+ /**
12005
+ * @description The calendar provider for this connected account.
12006
+ * @enum {string}
12007
+ */
12008
+ provider: "google";
12009
+ /**
12010
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
12011
+ * @enum {string}
12012
+ */
12013
+ status: "active" | "reconnect_required";
12014
+ /**
12015
+ * Format: date-time
12016
+ * @description Time at which the object was last updated.
12017
+ */
12018
+ updated_at: string;
12019
+ /** @description The ID of the user who owns this connected account. */
12020
+ user_id: string | null;
12021
+ };
12022
+ /**
12023
+ * @description The event type.
12024
+ * @enum {string}
12025
+ */
12026
+ type: "connected_account.deleted";
12027
+ } | {
12028
+ /**
12029
+ * ConnectedAccount
12030
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
12031
+ * @example {
12032
+ * "connection_scope": "user",
12033
+ * "created_at": "2025-03-12T12:34:55Z",
12034
+ * "display_name": "John Doe",
12035
+ * "email": "user@example.com",
12036
+ * "external_subject": "123456789",
12037
+ * "id": "cact_d025a96ac0c6",
12038
+ * "object": "connected_account",
12039
+ * "provider": "google",
12040
+ * "status": "active",
12041
+ * "updated_at": "2025-03-13T10:11:12Z",
12042
+ * "user_id": "user_d025a96ac0c6"
12043
+ * }
12044
+ */
12045
+ object: {
12046
+ /**
12047
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
12048
+ * @enum {string}
12049
+ */
12050
+ connection_scope: "user" | "account";
12051
+ /**
12052
+ * Format: date-time
12053
+ * @description Time at which the object was created.
12054
+ */
12055
+ created_at: string;
12056
+ /** @description The display name from the provider. */
12057
+ display_name: string | null;
12058
+ /** @description The email address associated with this connected account. */
12059
+ email: string;
12060
+ /** @description The unique identifier for this account at the provider. */
12061
+ external_subject: string;
12062
+ /** @description Unique identifier for the object. */
12063
+ id: string;
12064
+ /**
12065
+ * @description String representing the object's type.
12066
+ * @enum {string}
12067
+ */
12068
+ object: "connected_account";
12069
+ /**
12070
+ * @description The calendar provider for this connected account.
12071
+ * @enum {string}
12072
+ */
12073
+ provider: "google";
12074
+ /**
12075
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
12076
+ * @enum {string}
12077
+ */
12078
+ status: "active" | "reconnect_required";
12079
+ /**
12080
+ * Format: date-time
12081
+ * @description Time at which the object was last updated.
12082
+ */
12083
+ updated_at: string;
12084
+ /** @description The ID of the user who owns this connected account. */
12085
+ user_id: string | null;
12086
+ };
12087
+ /**
12088
+ * @description The event type.
12089
+ * @enum {string}
12090
+ */
12091
+ type: "connected_account.refresh_failed";
12092
+ } | {
12093
+ /**
12094
+ * ConnectedAccount
12095
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
12096
+ * @example {
12097
+ * "connection_scope": "user",
12098
+ * "created_at": "2025-03-12T12:34:55Z",
12099
+ * "display_name": "John Doe",
12100
+ * "email": "user@example.com",
12101
+ * "external_subject": "123456789",
12102
+ * "id": "cact_d025a96ac0c6",
12103
+ * "object": "connected_account",
12104
+ * "provider": "google",
12105
+ * "status": "active",
12106
+ * "updated_at": "2025-03-13T10:11:12Z",
12107
+ * "user_id": "user_d025a96ac0c6"
12108
+ * }
12109
+ */
12110
+ object: {
12111
+ /**
12112
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
12113
+ * @enum {string}
12114
+ */
12115
+ connection_scope: "user" | "account";
12116
+ /**
12117
+ * Format: date-time
12118
+ * @description Time at which the object was created.
12119
+ */
12120
+ created_at: string;
12121
+ /** @description The display name from the provider. */
12122
+ display_name: string | null;
12123
+ /** @description The email address associated with this connected account. */
12124
+ email: string;
12125
+ /** @description The unique identifier for this account at the provider. */
12126
+ external_subject: string;
12127
+ /** @description Unique identifier for the object. */
12128
+ id: string;
12129
+ /**
12130
+ * @description String representing the object's type.
12131
+ * @enum {string}
12132
+ */
12133
+ object: "connected_account";
12134
+ /**
12135
+ * @description The calendar provider for this connected account.
12136
+ * @enum {string}
12137
+ */
12138
+ provider: "google";
12139
+ /**
12140
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
12141
+ * @enum {string}
12142
+ */
12143
+ status: "active" | "reconnect_required";
12144
+ /**
12145
+ * Format: date-time
12146
+ * @description Time at which the object was last updated.
12147
+ */
12148
+ updated_at: string;
12149
+ /** @description The ID of the user who owns this connected account. */
12150
+ user_id: string | null;
12151
+ };
12152
+ /**
12153
+ * @description The event type.
12154
+ * @enum {string}
12155
+ */
12156
+ type: "connected_account.reconnected";
11607
12157
  };
11608
12158
  /** @description Unique identifier for the object. */
11609
12159
  id: string;
@@ -13266,6 +13816,92 @@ interface components {
13266
13816
  */
13267
13817
  updated_at: string;
13268
13818
  };
13819
+ /**
13820
+ * ConnectedAccountCreatedEventData
13821
+ * @description This is an object representing data for the connected account created event.
13822
+ * @example {
13823
+ * "object": {
13824
+ * "connection_scope": "user",
13825
+ * "created_at": "2025-03-12T12:34:55Z",
13826
+ * "display_name": "John Doe",
13827
+ * "email": "user@example.com",
13828
+ * "external_subject": "123456789",
13829
+ * "id": "cact_d025a96ac0c6",
13830
+ * "object": "connected_account",
13831
+ * "provider": "google",
13832
+ * "status": "active",
13833
+ * "updated_at": "2025-03-13T10:11:12Z",
13834
+ * "user_id": "user_d025a96ac0c6"
13835
+ * },
13836
+ * "type": "connected_account.created"
13837
+ * }
13838
+ */
13839
+ ConnectedAccountCreatedEventData: {
13840
+ /**
13841
+ * ConnectedAccount
13842
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
13843
+ * @example {
13844
+ * "connection_scope": "user",
13845
+ * "created_at": "2025-03-12T12:34:55Z",
13846
+ * "display_name": "John Doe",
13847
+ * "email": "user@example.com",
13848
+ * "external_subject": "123456789",
13849
+ * "id": "cact_d025a96ac0c6",
13850
+ * "object": "connected_account",
13851
+ * "provider": "google",
13852
+ * "status": "active",
13853
+ * "updated_at": "2025-03-13T10:11:12Z",
13854
+ * "user_id": "user_d025a96ac0c6"
13855
+ * }
13856
+ */
13857
+ object: {
13858
+ /**
13859
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
13860
+ * @enum {string}
13861
+ */
13862
+ connection_scope: "user" | "account";
13863
+ /**
13864
+ * Format: date-time
13865
+ * @description Time at which the object was created.
13866
+ */
13867
+ created_at: string;
13868
+ /** @description The display name from the provider. */
13869
+ display_name: string | null;
13870
+ /** @description The email address associated with this connected account. */
13871
+ email: string;
13872
+ /** @description The unique identifier for this account at the provider. */
13873
+ external_subject: string;
13874
+ /** @description Unique identifier for the object. */
13875
+ id: string;
13876
+ /**
13877
+ * @description String representing the object's type.
13878
+ * @enum {string}
13879
+ */
13880
+ object: "connected_account";
13881
+ /**
13882
+ * @description The calendar provider for this connected account.
13883
+ * @enum {string}
13884
+ */
13885
+ provider: "google";
13886
+ /**
13887
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
13888
+ * @enum {string}
13889
+ */
13890
+ status: "active" | "reconnect_required";
13891
+ /**
13892
+ * Format: date-time
13893
+ * @description Time at which the object was last updated.
13894
+ */
13895
+ updated_at: string;
13896
+ /** @description The ID of the user who owns this connected account. */
13897
+ user_id: string | null;
13898
+ };
13899
+ /**
13900
+ * @description The event type. (enum property replaced by openapi-typescript)
13901
+ * @enum {string}
13902
+ */
13903
+ type: "connected_account.created";
13904
+ };
13269
13905
  /**
13270
13906
  * CancellationReasonsResponse
13271
13907
  * @description Response schema for multiple cancellation reasons
@@ -13589,6 +14225,17 @@ interface components {
13589
14225
  ProviderScheduleResponse: {
13590
14226
  data: components["schemas"]["ProviderSchedule"];
13591
14227
  };
14228
+ /**
14229
+ * UpdateAccountUserRequest
14230
+ * @description Request schema for updating a user in an account
14231
+ * @example {
14232
+ * "passive": true
14233
+ * }
14234
+ */
14235
+ UpdateAccountUserRequest: {
14236
+ /** @description Whether this user is passive. Passive users do not receive direct email notifications (e.g., OAuth reconnection notices). Use this for platform/headless scenarios where the platform handles user communication. */
14237
+ passive?: boolean;
14238
+ };
13592
14239
  /**
13593
14240
  * AdvanceNoticePolicy
13594
14241
  * @description A policy for requiring minimum advance notice.
@@ -18071,6 +18718,7 @@ interface components {
18071
18718
  * "data": [
18072
18719
  * {
18073
18720
  * "object": "account_user",
18721
+ * "passive": false,
18074
18722
  * "roles": [
18075
18723
  * {
18076
18724
  * "id": "role_123456789012",
@@ -18096,6 +18744,65 @@ interface components {
18096
18744
  /** @description The account users details */
18097
18745
  data?: components["schemas"]["AccountUser"][];
18098
18746
  };
18747
+ /**
18748
+ * ConnectedAccount
18749
+ * @description This is an object representing a connected calendar account (e.g., a Google Calendar integration).
18750
+ * @example {
18751
+ * "connection_scope": "user",
18752
+ * "created_at": "2025-03-12T12:34:55Z",
18753
+ * "display_name": "John Doe",
18754
+ * "email": "user@example.com",
18755
+ * "external_subject": "123456789",
18756
+ * "id": "cact_d025a96ac0c6",
18757
+ * "object": "connected_account",
18758
+ * "provider": "google",
18759
+ * "status": "active",
18760
+ * "updated_at": "2025-03-13T10:11:12Z",
18761
+ * "user_id": "user_d025a96ac0c6"
18762
+ * }
18763
+ */
18764
+ ConnectedAccount: {
18765
+ /**
18766
+ * @description The scope of this connection. 'user' means owned by a specific user, 'account' means shared across the account.
18767
+ * @enum {string}
18768
+ */
18769
+ connection_scope: "user" | "account";
18770
+ /**
18771
+ * Format: date-time
18772
+ * @description Time at which the object was created.
18773
+ */
18774
+ created_at: string;
18775
+ /** @description The display name from the provider. */
18776
+ display_name: string | null;
18777
+ /** @description The email address associated with this connected account. */
18778
+ email: string;
18779
+ /** @description The unique identifier for this account at the provider. */
18780
+ external_subject: string;
18781
+ /** @description Unique identifier for the object. */
18782
+ id: string;
18783
+ /**
18784
+ * @description String representing the object's type.
18785
+ * @enum {string}
18786
+ */
18787
+ object: "connected_account";
18788
+ /**
18789
+ * @description The calendar provider for this connected account.
18790
+ * @enum {string}
18791
+ */
18792
+ provider: "google";
18793
+ /**
18794
+ * @description The current status of the connection. 'active' means the connection is working, 'reconnect_required' means the OAuth token has failed and needs reauthorization.
18795
+ * @enum {string}
18796
+ */
18797
+ status: "active" | "reconnect_required";
18798
+ /**
18799
+ * Format: date-time
18800
+ * @description Time at which the object was last updated.
18801
+ */
18802
+ updated_at: string;
18803
+ /** @description The ID of the user who owns this connected account. */
18804
+ user_id: string | null;
18805
+ };
18099
18806
  /**
18100
18807
  * CreateServiceRequest
18101
18808
  * @description Request schema for creating a service.
@@ -20115,6 +20822,70 @@ interface operations {
20115
20822
  };
20116
20823
  };
20117
20824
  };
20825
+ updateAccountUser: {
20826
+ parameters: {
20827
+ query?: never;
20828
+ header?: {
20829
+ /**
20830
+ * @description When authenticating with a platform token, specifies the account ID for the request
20831
+ * @example acct_1234567890
20832
+ */
20833
+ "X-SavvyCal-Account"?: string;
20834
+ };
20835
+ path: {
20836
+ /**
20837
+ * @description The user's unique identifier
20838
+ * @example user_abcdef123456
20839
+ */
20840
+ user_id: string;
20841
+ };
20842
+ cookie?: never;
20843
+ };
20844
+ /** @description User update details */
20845
+ requestBody?: {
20846
+ content: {
20847
+ "application/json": components["schemas"]["UpdateAccountUserRequest"];
20848
+ };
20849
+ };
20850
+ responses: {
20851
+ /** @description User updated */
20852
+ 200: {
20853
+ headers: {
20854
+ [name: string]: unknown;
20855
+ };
20856
+ content: {
20857
+ "application/json": components["schemas"]["AccountUserResponse"];
20858
+ };
20859
+ };
20860
+ /** @description Unauthorized */
20861
+ 401: {
20862
+ headers: {
20863
+ [name: string]: unknown;
20864
+ };
20865
+ content: {
20866
+ "application/json": components["schemas"]["UnauthorizedResponse"];
20867
+ };
20868
+ };
20869
+ /** @description GenericError */
20870
+ 404: {
20871
+ headers: {
20872
+ [name: string]: unknown;
20873
+ };
20874
+ content: {
20875
+ "application/json": components["schemas"]["GenericErrorResponse"];
20876
+ };
20877
+ };
20878
+ /** @description Unprocessable Entity */
20879
+ 422: {
20880
+ headers: {
20881
+ [name: string]: unknown;
20882
+ };
20883
+ content: {
20884
+ "application/json": components["schemas"]["JsonErrorResponse"];
20885
+ };
20886
+ };
20887
+ };
20888
+ };
20118
20889
  getClient: {
20119
20890
  parameters: {
20120
20891
  query?: never;
@@ -22748,6 +23519,11 @@ type ClientResponse = Schemas["ClientResponse"];
22748
23519
  type ClientsResponse = Schemas["ClientsResponse"];
22749
23520
  type ConfirmAppointmentRequest = Schemas["ConfirmAppointmentRequest"];
22750
23521
  type ConfirmationEvent = Schemas["ConfirmationEvent"];
23522
+ type ConnectedAccount = Schemas["ConnectedAccount"];
23523
+ type ConnectedAccountCreatedEventData = Schemas["ConnectedAccountCreatedEventData"];
23524
+ type ConnectedAccountDeletedEventData = Schemas["ConnectedAccountDeletedEventData"];
23525
+ type ConnectedAccountReconnectedEventData = Schemas["ConnectedAccountReconnectedEventData"];
23526
+ type ConnectedAccountRefreshFailedEventData = Schemas["ConnectedAccountRefreshFailedEventData"];
22751
23527
  type CreateAccountRequest = Schemas["CreateAccountRequest"];
22752
23528
  type CreateAccountUserRequest = Schemas["CreateAccountUserRequest"];
22753
23529
  type CreateAppointmentRequest = Schemas["CreateAppointmentRequest"];
@@ -22799,6 +23575,7 @@ type Slot = Schemas["Slot"];
22799
23575
  type SlotRule = Schemas["SlotRule"];
22800
23576
  type UnauthorizedResponse = Schemas["UnauthorizedResponse"];
22801
23577
  type UpdateAccountRequest = Schemas["UpdateAccountRequest"];
23578
+ type UpdateAccountUserRequest = Schemas["UpdateAccountUserRequest"];
22802
23579
  type UpdateBlockRequest = Schemas["UpdateBlockRequest"];
22803
23580
  type UpdateCancellationReasonRequest = Schemas["UpdateCancellationReasonRequest"];
22804
23581
  type UpdateClientRequest = Schemas["UpdateClientRequest"];
@@ -23141,6 +23918,7 @@ declare function createAccountUser(client: FetchClient, body: RequestBody<"/v1/u
23141
23918
  first_name: string;
23142
23919
  last_name: string;
23143
23920
  notify: boolean;
23921
+ passive: boolean;
23144
23922
  role_ids?: string[];
23145
23923
  time_zone?: string;
23146
23924
  } | undefined;
@@ -25703,6 +26481,66 @@ declare function updateAccount(client: FetchClient, path: PathParams<"/v1/accoun
25703
26481
  };
25704
26482
  };
25705
26483
  }, `${string}/${string}`>>;
26484
+ declare function updateAccountUser(client: FetchClient, path: PathParams<"/v1/users/{user_id}", "patch">, body: RequestBody<"/v1/users/{user_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
26485
+ parameters: {
26486
+ query?: never;
26487
+ header?: {
26488
+ "X-SavvyCal-Account"?: string;
26489
+ };
26490
+ path: {
26491
+ user_id: string;
26492
+ };
26493
+ cookie?: never;
26494
+ };
26495
+ requestBody?: {
26496
+ content: {
26497
+ "application/json": components["schemas"]["UpdateAccountUserRequest"];
26498
+ };
26499
+ };
26500
+ responses: {
26501
+ 200: {
26502
+ headers: {
26503
+ [name: string]: unknown;
26504
+ };
26505
+ content: {
26506
+ "application/json": components["schemas"]["AccountUserResponse"];
26507
+ };
26508
+ };
26509
+ 401: {
26510
+ headers: {
26511
+ [name: string]: unknown;
26512
+ };
26513
+ content: {
26514
+ "application/json": components["schemas"]["UnauthorizedResponse"];
26515
+ };
26516
+ };
26517
+ 404: {
26518
+ headers: {
26519
+ [name: string]: unknown;
26520
+ };
26521
+ content: {
26522
+ "application/json": components["schemas"]["GenericErrorResponse"];
26523
+ };
26524
+ };
26525
+ 422: {
26526
+ headers: {
26527
+ [name: string]: unknown;
26528
+ };
26529
+ content: {
26530
+ "application/json": components["schemas"]["JsonErrorResponse"];
26531
+ };
26532
+ };
26533
+ };
26534
+ }, {
26535
+ body: {
26536
+ passive?: boolean;
26537
+ } | undefined;
26538
+ params: {
26539
+ path: {
26540
+ user_id: string;
26541
+ };
26542
+ };
26543
+ }, `${string}/${string}`>>;
25706
26544
  declare function updateBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "patch">, body: RequestBody<"/v1/blocks/{block_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
25707
26545
  parameters: {
25708
26546
  query?: never;
@@ -26115,4 +26953,4 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
26115
26953
  };
26116
26954
  }, `${string}/${string}`>>;
26117
26955
 
26118
- export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserResponse, 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 BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientResponse, type ClientsResponse, type ConfirmAppointmentRequest, type ConfirmationEvent, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateCancellationReasonRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type GenericErrorResponse, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderResponse, type ProviderSchedule, type ProviderScheduleResponse, type ProviderSchedulesResponse, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, 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 ServiceProvider, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServicesResponse, type Slot, type SlotRule, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateBlockRequest, type UpdateCancellationReasonRequest, type UpdateClientRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, cancelAppointment, cancelPublicAppointment, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createCancellationReason, createClient, createDashboardSession, createFetchClient, createProvider, createProviderSchedule, createPublicAppointment, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteProviderSchedule, deleteService, deleteServiceProvider, getAccountById, getAppointment, getBlock, getCancellationReason, getClient, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getProvider, getProviderSchedule, getPublicAppointment, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listCancellationReasons, listClients, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, updateAccount, updateBlock, updateCancellationReason, updateClient, updateProvider, updateProviderSchedule, updateService };
26956
+ export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserResponse, 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 BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientResponse, type ClientsResponse, type ConfirmAppointmentRequest, type ConfirmationEvent, type ConnectedAccount, type ConnectedAccountCreatedEventData, type ConnectedAccountDeletedEventData, type ConnectedAccountReconnectedEventData, type ConnectedAccountRefreshFailedEventData, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateCancellationReasonRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type GenericErrorResponse, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderResponse, type ProviderSchedule, type ProviderScheduleResponse, type ProviderSchedulesResponse, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, 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 ServiceProvider, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServicesResponse, type Slot, type SlotRule, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateAccountUserRequest, type UpdateBlockRequest, type UpdateCancellationReasonRequest, type UpdateClientRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, cancelAppointment, cancelPublicAppointment, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createCancellationReason, createClient, createDashboardSession, createFetchClient, createProvider, createProviderSchedule, createPublicAppointment, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteProviderSchedule, deleteService, deleteServiceProvider, getAccountById, getAppointment, getBlock, getCancellationReason, getClient, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getProvider, getProviderSchedule, getPublicAppointment, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listCancellationReasons, listClients, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, updateAccount, updateAccountUser, updateBlock, updateCancellationReason, updateClient, updateProvider, updateProviderSchedule, updateService };