@workos/openapi-spec 0.61.0 → 0.63.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/types.d.ts CHANGED
@@ -454,7 +454,7 @@ export interface paths {
454
454
  };
455
455
  /**
456
456
  * List effective permissions for an organization membership on a resource
457
- * @description Returns all permissions the organization membership effectively has on a resource, including permissions inherited through roles assigned to ancestor resources.
457
+ * @description Returns all permissions the organization membership effectively has on a resource, including permissions inherited through roles assigned to ancestor resources. Results are not filtered by the resource type: a permission is returned whenever a check for it on this resource would be authorized, and each permission is labeled with the resource type it is declared on.
458
458
  */
459
459
  get: operations["AuthorizationController_listEffectivePermissions"];
460
460
  put?: never;
@@ -474,7 +474,7 @@ export interface paths {
474
474
  };
475
475
  /**
476
476
  * List effective permissions for an organization membership on a resource by external ID
477
- * @description Returns all permissions the organization membership effectively has on a resource identified by its external ID, including permissions inherited through roles assigned to ancestor resources.
477
+ * @description Returns all permissions the organization membership effectively has on a resource identified by its external ID, including permissions inherited through roles assigned to ancestor resources. Results are not filtered by the resource type: a permission is returned whenever a check for it on this resource would be authorized, and each permission is labeled with the resource type it is declared on.
478
478
  */
479
479
  get: operations["AuthorizationController_listEffectivePermissionsByExternalId"];
480
480
  put?: never;
@@ -1853,6 +1853,130 @@ export interface paths {
1853
1853
  patch?: never;
1854
1854
  trace?: never;
1855
1855
  };
1856
+ "/organizations/{organization_id}/it_contacts": {
1857
+ parameters: {
1858
+ query?: never;
1859
+ header?: never;
1860
+ path?: never;
1861
+ cookie?: never;
1862
+ };
1863
+ /**
1864
+ * List IT contacts
1865
+ * @description Get the IT contacts for an organization.
1866
+ */
1867
+ get: operations["ItContactsController_list"];
1868
+ put?: never;
1869
+ /**
1870
+ * Create an IT contact
1871
+ * @description Add an IT contact to an organization. No Admin Portal invitation is sent, though the contact is notified if the organization has a connection certificate nearing expiry.
1872
+ */
1873
+ post: operations["ItContactsController_create"];
1874
+ delete?: never;
1875
+ options?: never;
1876
+ head?: never;
1877
+ patch?: never;
1878
+ trace?: never;
1879
+ };
1880
+ "/organizations/{organization_id}/it_contacts/{contact_id}": {
1881
+ parameters: {
1882
+ query?: never;
1883
+ header?: never;
1884
+ path?: never;
1885
+ cookie?: never;
1886
+ };
1887
+ get?: never;
1888
+ put?: never;
1889
+ post?: never;
1890
+ /**
1891
+ * Delete an IT contact
1892
+ * @description Remove an IT contact from an organization and revoke the contact's active setup links.
1893
+ */
1894
+ delete: operations["ItContactsController_delete"];
1895
+ options?: never;
1896
+ head?: never;
1897
+ patch?: never;
1898
+ trace?: never;
1899
+ };
1900
+ "/organizations/{organization_id}/it_contacts/{contact_id}/invite": {
1901
+ parameters: {
1902
+ query?: never;
1903
+ header?: never;
1904
+ path?: never;
1905
+ cookie?: never;
1906
+ };
1907
+ get?: never;
1908
+ put?: never;
1909
+ /**
1910
+ * Invite an IT contact
1911
+ * @description Create an Admin Portal setup link and email it to the IT contact. An organization can have at most one active invitation.
1912
+ */
1913
+ post: operations["ItContactsController_invite"];
1914
+ delete?: never;
1915
+ options?: never;
1916
+ head?: never;
1917
+ patch?: never;
1918
+ trace?: never;
1919
+ };
1920
+ "/organizations/{organization_id}/it_contacts/{contact_id}/revoke": {
1921
+ parameters: {
1922
+ query?: never;
1923
+ header?: never;
1924
+ path?: never;
1925
+ cookie?: never;
1926
+ };
1927
+ get?: never;
1928
+ put?: never;
1929
+ /**
1930
+ * Revoke an IT contact's invitation
1931
+ * @description Revoke the organization's active Admin Portal invitation.
1932
+ */
1933
+ post: operations["ItContactsController_revoke"];
1934
+ delete?: never;
1935
+ options?: never;
1936
+ head?: never;
1937
+ patch?: never;
1938
+ trace?: never;
1939
+ };
1940
+ "/platform/teams": {
1941
+ parameters: {
1942
+ query?: never;
1943
+ header?: never;
1944
+ path?: never;
1945
+ cookie?: never;
1946
+ };
1947
+ get?: never;
1948
+ put?: never;
1949
+ /**
1950
+ * Create a team
1951
+ * @description Creates a team along with its default project, a staging environment, and a production environment. An admin invitation is sent to `admin_email`, onboarding is marked complete with AuthKit enabled, and the calling platform is authorized to act inside the team.
1952
+ */
1953
+ post: operations["TeamsController_createTeam"];
1954
+ delete?: never;
1955
+ options?: never;
1956
+ head?: never;
1957
+ patch?: never;
1958
+ trace?: never;
1959
+ };
1960
+ "/platform/teams/{team_id}": {
1961
+ parameters: {
1962
+ query?: never;
1963
+ header?: never;
1964
+ path?: never;
1965
+ cookie?: never;
1966
+ };
1967
+ /**
1968
+ * Get a team
1969
+ * @description Returns a team, and doubles as a health check on the platform's access to it. Read `production_state` before attempting to create a production environment.
1970
+ */
1971
+ get: operations["TeamsController_getTeam"];
1972
+ put?: never;
1973
+ post?: never;
1974
+ delete?: never;
1975
+ options?: never;
1976
+ head?: never;
1977
+ patch?: never;
1978
+ trace?: never;
1979
+ };
1856
1980
  "/portal/generate_link": {
1857
1981
  parameters: {
1858
1982
  query?: never;
@@ -3011,6 +3135,130 @@ export interface paths {
3011
3135
  patch?: never;
3012
3136
  trace?: never;
3013
3137
  };
3138
+ "/user_management/waitlist_entries/{id}": {
3139
+ parameters: {
3140
+ query?: never;
3141
+ header?: never;
3142
+ path?: never;
3143
+ cookie?: never;
3144
+ };
3145
+ get?: never;
3146
+ put?: never;
3147
+ post?: never;
3148
+ /**
3149
+ * Delete a waitlist entry
3150
+ * @description Removes the entry from the waitlist. An invitation created by approving the entry stays valid, so revoke that invitation to withdraw access.
3151
+ */
3152
+ delete: operations["WaitlistEntriesController_delete"];
3153
+ options?: never;
3154
+ head?: never;
3155
+ patch?: never;
3156
+ trace?: never;
3157
+ };
3158
+ "/user_management/waitlist_entries/{id}/approve": {
3159
+ parameters: {
3160
+ query?: never;
3161
+ header?: never;
3162
+ path?: never;
3163
+ cookie?: never;
3164
+ };
3165
+ get?: never;
3166
+ put?: never;
3167
+ /**
3168
+ * Approve a waitlist entry
3169
+ * @description Approve a waitlist entry and send the resulting user invitation email. Also reverses a denial: a denied entry can be approved.
3170
+ */
3171
+ post: operations["WaitlistEntriesController_approve"];
3172
+ delete?: never;
3173
+ options?: never;
3174
+ head?: never;
3175
+ patch?: never;
3176
+ trace?: never;
3177
+ };
3178
+ "/user_management/waitlist_entries/{id}/deny": {
3179
+ parameters: {
3180
+ query?: never;
3181
+ header?: never;
3182
+ path?: never;
3183
+ cookie?: never;
3184
+ };
3185
+ get?: never;
3186
+ put?: never;
3187
+ /**
3188
+ * Deny a waitlist entry
3189
+ * @description Deny a pending waitlist entry. A denial can be reversed by approving the entry.
3190
+ */
3191
+ post: operations["WaitlistEntriesController_deny"];
3192
+ delete?: never;
3193
+ options?: never;
3194
+ head?: never;
3195
+ patch?: never;
3196
+ trace?: never;
3197
+ };
3198
+ "/user_management/waitlists": {
3199
+ parameters: {
3200
+ query?: never;
3201
+ header?: never;
3202
+ path?: never;
3203
+ cookie?: never;
3204
+ };
3205
+ /**
3206
+ * List waitlists
3207
+ * @description Get a list of the waitlists in the environment.
3208
+ */
3209
+ get: operations["WaitlistsController_list"];
3210
+ put?: never;
3211
+ post?: never;
3212
+ delete?: never;
3213
+ options?: never;
3214
+ head?: never;
3215
+ patch?: never;
3216
+ trace?: never;
3217
+ };
3218
+ "/user_management/waitlists/{id}": {
3219
+ parameters: {
3220
+ query?: never;
3221
+ header?: never;
3222
+ path?: never;
3223
+ cookie?: never;
3224
+ };
3225
+ /**
3226
+ * Get a waitlist
3227
+ * @description Get the details of an existing waitlist.
3228
+ */
3229
+ get: operations["WaitlistsController_find"];
3230
+ put?: never;
3231
+ post?: never;
3232
+ delete?: never;
3233
+ options?: never;
3234
+ head?: never;
3235
+ patch?: never;
3236
+ trace?: never;
3237
+ };
3238
+ "/user_management/waitlists/{id}/entries": {
3239
+ parameters: {
3240
+ query?: never;
3241
+ header?: never;
3242
+ path?: never;
3243
+ cookie?: never;
3244
+ };
3245
+ /**
3246
+ * List waitlist entries
3247
+ * @description Get a list of entries on a waitlist matching the criteria specified.
3248
+ */
3249
+ get: operations["WaitlistsController_listEntries"];
3250
+ put?: never;
3251
+ /**
3252
+ * Create a waitlist entry
3253
+ * @description Add an email address to the waitlist. Creating an entry is idempotent per email address: a request for an email address already on the waitlist returns the existing entry.
3254
+ */
3255
+ post: operations["WaitlistsController_createEntry"];
3256
+ delete?: never;
3257
+ options?: never;
3258
+ head?: never;
3259
+ patch?: never;
3260
+ trace?: never;
3261
+ };
3014
3262
  "/vault/v1/keys/data-key": {
3015
3263
  parameters: {
3016
3264
  query?: never;
@@ -4128,6 +4376,24 @@ export interface components {
4128
4376
  */
4129
4377
  expires_at?: string;
4130
4378
  };
4379
+ CreateItContactDto: {
4380
+ /**
4381
+ * Format: email
4382
+ * @description The email address of the IT contact.
4383
+ * @example it-contact@example.com
4384
+ */
4385
+ email: string;
4386
+ };
4387
+ InviteItContactDto: {
4388
+ /**
4389
+ * @description The Admin Portal features that the IT contact can configure.
4390
+ * @example [
4391
+ * "sso",
4392
+ * "directory_sync"
4393
+ * ]
4394
+ */
4395
+ intents: ("sso" | "directory_sync" | "log_streams" | "domain_verification" | "bring_your_own_key")[];
4396
+ };
4131
4397
  OrganizationDomainDataDto: {
4132
4398
  /**
4133
4399
  * @description The domain value.
@@ -4153,6 +4419,7 @@ export interface components {
4153
4419
  */
4154
4420
  allow_profiles_outside_organization?: boolean;
4155
4421
  /**
4422
+ * @deprecated
4156
4423
  * @description The domains associated with the organization. Deprecated in favor of `domain_data`.
4157
4424
  * @example [
4158
4425
  * "example.com"
@@ -4349,9 +4616,9 @@ export interface components {
4349
4616
  */
4350
4617
  auth_methods?: ("oauth" | "api_key" | "client_credentials")[];
4351
4618
  /**
4352
- * @description Provider-specific config values (e.g. a Snowflake `account_identifier`), keyed by the config field. Only fields the built-in provider declares are accepted.
4619
+ * @description Provider-specific config values (e.g. a Snowflake `account`), keyed by the config field. Only fields the built-in provider declares are accepted.
4353
4620
  * @example {
4354
- * "account_identifier": "acme-prod"
4621
+ * "account": "myorg-myaccount"
4355
4622
  * }
4356
4623
  */
4357
4624
  config?: {
@@ -4558,6 +4825,19 @@ export interface components {
4558
4825
  */
4559
4826
  uri: string;
4560
4827
  };
4828
+ CreateTeamDto: {
4829
+ /**
4830
+ * Format: email
4831
+ * @description The email address of the person who will administer the team. An invitation is sent to this address.
4832
+ * @example alice@example.com
4833
+ */
4834
+ admin_email: string;
4835
+ /**
4836
+ * @description Name of the team.
4837
+ * @example Example Team
4838
+ */
4839
+ name: string;
4840
+ };
4561
4841
  EnrollUserlandUserAuthenticationFactorDto: {
4562
4842
  /**
4563
4843
  * @description The type of the factor to enroll.
@@ -4923,6 +5203,29 @@ export interface components {
4923
5203
  */
4924
5204
  session_id: string;
4925
5205
  };
5206
+ CreateWaitlistEntryDto: {
5207
+ /**
5208
+ * Format: email
5209
+ * @description The email address of the user joining the waitlist.
5210
+ * @example marcelina.davis@example.com
5211
+ */
5212
+ email: string;
5213
+ /**
5214
+ * @description Object containing additional key/value pairs collected with the waitlist entry. Values are user-provided — treat them as untrusted input when rendering or exporting.
5215
+ * @example {
5216
+ * "company": "Example Corp"
5217
+ * }
5218
+ */
5219
+ additional_fields?: {
5220
+ [key: string]: string;
5221
+ };
5222
+ /**
5223
+ * @description Whether to send the waitlist confirmation email to the user. Defaults to `false`. No email is sent when the waitlist confirmation email is disabled in the environment, even if `send_confirmation_email` is `true`.
5224
+ * @default false
5225
+ * @example false
5226
+ */
5227
+ send_confirmation_email: boolean;
5228
+ };
4926
5229
  CreateWebhookEndpointDto: {
4927
5230
  /**
4928
5231
  * @description The HTTPS URL where webhooks will be sent.
@@ -4990,7 +5293,7 @@ export interface components {
4990
5293
  */
4991
5294
  user_id: string;
4992
5295
  };
4993
- TokenQueryDto: {
5296
+ TokenBodyDto: {
4994
5297
  /**
4995
5298
  * @description The client ID of the WorkOS environment.
4996
5299
  * @example client_01HZBC6N1EB1ZY7KG32X
@@ -5002,16 +5305,32 @@ export interface components {
5002
5305
  */
5003
5306
  client_secret: string;
5004
5307
  /**
5005
- * @description The authorization code received from the authorization callback.
5308
+ * @description The authorization code received from the authorization callback. Required when `grant_type` is `authorization_code`.
5006
5309
  * @example authorization_code_value
5007
5310
  */
5008
- code: string;
5311
+ code?: string;
5009
5312
  /**
5010
5313
  * @description The grant type for the token request.
5011
5314
  * @example authorization_code
5315
+ * @enum {string}
5316
+ */
5317
+ grant_type: "authorization_code" | "urn:ietf:params:oauth:grant-type:token-exchange";
5318
+ /**
5319
+ * @description The OIDC ID token to exchange. Required when `grant_type` is `urn:ietf:params:oauth:grant-type:token-exchange`. Must be sent in the request body.
5320
+ * @example eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMifQ.example
5321
+ */
5322
+ subject_token?: string;
5323
+ /**
5324
+ * @description The type of the subject token. Required when `grant_type` is `urn:ietf:params:oauth:grant-type:token-exchange`. Must be sent in the request body.
5325
+ * @example urn:ietf:params:oauth:token-type:id_token
5012
5326
  * @constant
5013
5327
  */
5014
- grant_type: "authorization_code";
5328
+ subject_token_type?: "urn:ietf:params:oauth:token-type:id_token";
5329
+ /**
5330
+ * @description The ID of the organization whose connection the subject token is validated against. Required when `grant_type` is `urn:ietf:params:oauth:grant-type:token-exchange`. Must be sent in the request body.
5331
+ * @example org_01EHQMYV6MBK39QC5PZXHY59C3
5332
+ */
5333
+ organization_id?: string;
5015
5334
  };
5016
5335
  /**
5017
5336
  * Actor
@@ -7604,34 +7923,38 @@ export interface components {
7604
7923
  VaultByokKeyProvider: "AWS_KMS" | "GCP_KMS" | "AZURE_KEY_VAULT";
7605
7924
  WaitlistUser: {
7606
7925
  /**
7607
- * @description Distinguishes the Waitlist User object.
7608
- * @constant
7609
- */
7610
- object: "waitlist_user";
7611
- /**
7612
- * @description The unique ID of the Waitlist User.
7926
+ * @description The unique ID of the waitlist entry.
7613
7927
  * @example wl_user_01E4ZCR3C56J083X43JQXF3JK5
7614
7928
  */
7615
7929
  id: string;
7616
7930
  /**
7617
- * @description The email address of the Waitlist User.
7931
+ * @description The email address of the user on the waitlist.
7618
7932
  * @example marcelina.davis@example.com
7619
7933
  */
7620
7934
  email: string;
7621
7935
  /**
7622
- * @description The state of the Waitlist User.
7936
+ * @description The state of the waitlist entry.
7623
7937
  * @example pending
7624
7938
  * @enum {string}
7625
7939
  */
7626
7940
  state: "pending" | "approved" | "denied";
7627
7941
  /**
7628
7942
  * Format: date-time
7629
- * @description The timestamp when the Waitlist User was approved, or null if not yet approved.
7943
+ * @description The timestamp when the entry was approved, or null if not yet approved.
7630
7944
  * @example null
7631
7945
  */
7632
7946
  approved_at: string | null;
7633
7947
  /**
7634
- * @description The unique ID of the Waitlist that the Waitlist User joined.
7948
+ * @description Additional fields submitted when the user joined the waitlist. Values are user-provided — treat them as untrusted input when rendering or exporting.
7949
+ * @example {
7950
+ * "company": "Example Corp"
7951
+ * }
7952
+ */
7953
+ additional_fields?: {
7954
+ [key: string]: string;
7955
+ };
7956
+ /**
7957
+ * @description The unique ID of the waitlist the entry belongs to.
7635
7958
  * @example waitlist_01E4ZCR3C56J083X43JQXF3JK5
7636
7959
  */
7637
7960
  waitlist_id?: string | null;
@@ -7647,6 +7970,11 @@ export interface components {
7647
7970
  * @example 2026-01-15T12:00:00.000Z
7648
7971
  */
7649
7972
  updated_at: string;
7973
+ /**
7974
+ * @description Distinguishes the Waitlist User object.
7975
+ * @constant
7976
+ */
7977
+ object: "waitlist_user";
7650
7978
  };
7651
7979
  /**
7652
7980
  * @description An event emitted by WorkOS.
@@ -15023,6 +15351,59 @@ export interface components {
15023
15351
  */
15024
15352
  value: string;
15025
15353
  };
15354
+ ItContact: {
15355
+ /**
15356
+ * @description The IT Contact object.
15357
+ * @example it_contact
15358
+ * @constant
15359
+ */
15360
+ object: "it_contact";
15361
+ /**
15362
+ * @description The unique ID of the IT Contact.
15363
+ * @example it_contact_01HXYZ123456789ABCDEFGHIJ
15364
+ */
15365
+ id: string;
15366
+ /**
15367
+ * Format: email
15368
+ * @description The email address of the IT Contact.
15369
+ * @example it-contact@example.com
15370
+ */
15371
+ email: string;
15372
+ /**
15373
+ * Format: date-time
15374
+ * @description An ISO 8601 timestamp.
15375
+ * @example 2026-01-15T12:00:00.000Z
15376
+ */
15377
+ created_at: string;
15378
+ /**
15379
+ * Format: date-time
15380
+ * @description An ISO 8601 timestamp.
15381
+ * @example 2026-01-15T12:00:00.000Z
15382
+ */
15383
+ updated_at: string;
15384
+ };
15385
+ ItContactList: {
15386
+ /**
15387
+ * @description Indicates this is a list response.
15388
+ * @constant
15389
+ */
15390
+ object: "list";
15391
+ /** @description The list of records for the current page. */
15392
+ data: components["schemas"]["ItContact"][];
15393
+ /** @description Pagination cursors for navigating between pages of results. */
15394
+ list_metadata: {
15395
+ /**
15396
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the start of the list.
15397
+ * @example it_contact_01HXYZ123456789ABCDEFGHIJ
15398
+ */
15399
+ before: string | null;
15400
+ /**
15401
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list.
15402
+ * @example it_contact_01HXYZ987654321KJIHGFEDCBA
15403
+ */
15404
+ after: string | null;
15405
+ };
15406
+ };
15026
15407
  Organization: {
15027
15408
  /**
15028
15409
  * @description Distinguishes the Organization object.
@@ -15276,7 +15657,7 @@ export interface components {
15276
15657
  /**
15277
15658
  * @description The provider-specific config values in effect for this organization, keyed by config field. Reflects the organization override for organization-credential providers, otherwise the provider root. Empty when none are configured.
15278
15659
  * @example {
15279
- * "account_identifier": "acme-prod"
15660
+ * "account": "myorg-myaccount"
15280
15661
  * }
15281
15662
  */
15282
15663
  config: {
@@ -15330,7 +15711,7 @@ export interface components {
15330
15711
  /**
15331
15712
  * @description Provider-specific config values to set for the organization, keyed by config field. Only fields the provider declares are accepted, and each value must match that field's pattern. Accepted only for providers whose credentials are organization-managed; for shared or custom credential providers, config belongs on the integration itself (via the data-integrations API) and supplying it here is rejected.
15332
15713
  * @example {
15333
- * "account_identifier": "acme-prod"
15714
+ * "account": "myorg-myaccount"
15334
15715
  * }
15335
15716
  */
15336
15717
  config?: {
@@ -15441,9 +15822,9 @@ export interface components {
15441
15822
  api_key_last_4: string | null;
15442
15823
  } | null;
15443
15824
  /**
15444
- * @description Provider-specific config values set on the Data Integration (e.g. a Snowflake `account_identifier`), keyed by config field. Only fields the provider declares are accepted.
15825
+ * @description Provider-specific config values set on the Data Integration (e.g. a Snowflake `account`), keyed by config field. Only fields the provider declares are accepted.
15445
15826
  * @example {
15446
- * "account_identifier": "acme-prod"
15827
+ * "account": "myorg-myaccount"
15447
15828
  * }
15448
15829
  */
15449
15830
  config: {
@@ -16162,6 +16543,47 @@ export interface components {
16162
16543
  */
16163
16544
  updated_at: string;
16164
16545
  };
16546
+ Team: {
16547
+ /**
16548
+ * @description Distinguishes the team object.
16549
+ * @constant
16550
+ */
16551
+ object: "team";
16552
+ /**
16553
+ * @description Unique identifier of the team.
16554
+ * @example team_01JX9AN6E02HAG2Q2CKGC1XT5W
16555
+ */
16556
+ id: string;
16557
+ /**
16558
+ * @description The name of the team.
16559
+ * @example Example Team
16560
+ */
16561
+ name: string;
16562
+ /**
16563
+ * @description Whether the team can host production environments. `Active` means billing is set up. `Inactive` means a team admin must add a payment method in the WorkOS Dashboard. `Suspended` and `Deleting` mean the team can't be provisioned into.
16564
+ * @example Active
16565
+ * @enum {string}
16566
+ */
16567
+ production_state: "Active" | "Inactive" | "Suspended" | "Deleting";
16568
+ /**
16569
+ * Format: date-time
16570
+ * @description The timestamp when production was enabled for the team, or `null` if it never has been.
16571
+ * @example 2024-01-01T00:00:00.000Z
16572
+ */
16573
+ production_enabled_at: string | null;
16574
+ /**
16575
+ * Format: date-time
16576
+ * @description The timestamp when the team was created.
16577
+ * @example 2024-01-01T00:00:00.000Z
16578
+ */
16579
+ created_at: string;
16580
+ /**
16581
+ * Format: date-time
16582
+ * @description The timestamp when the team was last updated.
16583
+ * @example 2024-01-01T00:00:00.000Z
16584
+ */
16585
+ updated_at: string;
16586
+ };
16165
16587
  UserlandUserAuthenticationFactorList: {
16166
16588
  /**
16167
16589
  * @description Indicates this is a list response.
@@ -16859,6 +17281,85 @@ export interface components {
16859
17281
  */
16860
17282
  interval?: number;
16861
17283
  };
17284
+ Waitlist: {
17285
+ /**
17286
+ * @description Distinguishes the Waitlist object.
17287
+ * @constant
17288
+ */
17289
+ object: "waitlist";
17290
+ /**
17291
+ * @description The unique ID of the Waitlist.
17292
+ * @example waitlist_01E4ZCR3C56J083X43JQXF3JK5
17293
+ */
17294
+ id: string;
17295
+ /**
17296
+ * Format: date-time
17297
+ * @description An ISO 8601 timestamp.
17298
+ * @example 2026-01-15T12:00:00.000Z
17299
+ */
17300
+ created_at: string;
17301
+ /**
17302
+ * Format: date-time
17303
+ * @description An ISO 8601 timestamp.
17304
+ * @example 2026-01-15T12:00:00.000Z
17305
+ */
17306
+ updated_at: string;
17307
+ };
17308
+ WaitlistEntry: {
17309
+ /**
17310
+ * @description The unique ID of the waitlist entry.
17311
+ * @example wl_user_01E4ZCR3C56J083X43JQXF3JK5
17312
+ */
17313
+ id: string;
17314
+ /**
17315
+ * @description The email address of the user on the waitlist.
17316
+ * @example marcelina.davis@example.com
17317
+ */
17318
+ email: string;
17319
+ /**
17320
+ * @description The state of the waitlist entry.
17321
+ * @example pending
17322
+ * @enum {string}
17323
+ */
17324
+ state: "pending" | "approved" | "denied";
17325
+ /**
17326
+ * Format: date-time
17327
+ * @description The timestamp when the entry was approved, or null if not yet approved.
17328
+ * @example null
17329
+ */
17330
+ approved_at: string | null;
17331
+ /**
17332
+ * @description Additional fields submitted when the user joined the waitlist. Values are user-provided — treat them as untrusted input when rendering or exporting.
17333
+ * @example {
17334
+ * "company": "Example Corp"
17335
+ * }
17336
+ */
17337
+ additional_fields?: {
17338
+ [key: string]: string;
17339
+ };
17340
+ /**
17341
+ * @description The unique ID of the waitlist the entry belongs to.
17342
+ * @example waitlist_01E4ZCR3C56J083X43JQXF3JK5
17343
+ */
17344
+ waitlist_id?: string | null;
17345
+ /**
17346
+ * Format: date-time
17347
+ * @description An ISO 8601 timestamp.
17348
+ * @example 2026-01-15T12:00:00.000Z
17349
+ */
17350
+ created_at: string;
17351
+ /**
17352
+ * Format: date-time
17353
+ * @description An ISO 8601 timestamp.
17354
+ * @example 2026-01-15T12:00:00.000Z
17355
+ */
17356
+ updated_at: string;
17357
+ /**
17358
+ * @description Distinguishes the Waitlist Entry object.
17359
+ * @constant
17360
+ */
17361
+ object: "waitlist_entry";
17362
+ };
16862
17363
  WebhookEndpointJson: {
16863
17364
  /**
16864
17365
  * @description Distinguishes the Webhook Endpoint object.
@@ -24887,7 +25388,7 @@ export interface operations {
24887
25388
  };
24888
25389
  EventsController_list: {
24889
25390
  parameters: {
24890
- query?: {
25391
+ query: {
24891
25392
  /** @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. */
24892
25393
  before?: string;
24893
25394
  /** @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. */
@@ -24897,7 +25398,7 @@ export interface operations {
24897
25398
  /** @description Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). */
24898
25399
  order?: components["schemas"]["PaginationOrder"];
24899
25400
  /** @description Filter events by one or more event types (e.g. `dsync.user.created`). */
24900
- events?: string[];
25401
+ events: string[];
24901
25402
  /** @description ISO-8601 date string to filter events created after this date. */
24902
25403
  range_start?: string;
24903
25404
  /** @description ISO-8601 date string to filter events created before this date. */
@@ -26551,6 +27052,8 @@ export interface operations {
26551
27052
  limit?: number;
26552
27053
  /** @description Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). */
26553
27054
  order?: components["schemas"]["PaginationOrder"];
27055
+ /** @description Search groups by name or by group ID. */
27056
+ search?: string;
26554
27057
  };
26555
27058
  header?: never;
26556
27059
  path: {
@@ -27174,30 +27677,44 @@ export interface operations {
27174
27677
  };
27175
27678
  };
27176
27679
  };
27177
- PortalSessionsController_create: {
27680
+ ItContactsController_list: {
27178
27681
  parameters: {
27179
27682
  query?: never;
27180
27683
  header?: never;
27181
- path?: never;
27182
- cookie?: never;
27183
- };
27184
- requestBody: {
27185
- content: {
27186
- "application/json": components["schemas"]["GenerateLinkDto"];
27684
+ path: {
27685
+ /** @description The ID of the organization. */
27686
+ organization_id: string;
27187
27687
  };
27688
+ cookie?: never;
27188
27689
  };
27690
+ requestBody?: never;
27189
27691
  responses: {
27190
- /** @description Created */
27191
- 201: {
27692
+ /** @description OK */
27693
+ 200: {
27192
27694
  headers: {
27193
27695
  [name: string]: unknown;
27194
27696
  };
27195
27697
  content: {
27196
- "application/json": components["schemas"]["PortalLinkResponse"];
27698
+ "application/json": components["schemas"]["ItContactList"];
27197
27699
  };
27198
27700
  };
27199
- /** @description Bad Request */
27200
- 400: {
27701
+ /** @description Forbidden */
27702
+ 403: {
27703
+ headers: {
27704
+ [name: string]: unknown;
27705
+ };
27706
+ content: {
27707
+ "application/json": {
27708
+ /**
27709
+ * @description A human-readable description of the error.
27710
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27711
+ */
27712
+ message: string;
27713
+ };
27714
+ };
27715
+ };
27716
+ /** @description Not Found */
27717
+ 404: {
27201
27718
  headers: {
27202
27719
  [name: string]: unknown;
27203
27720
  };
@@ -27211,6 +27728,33 @@ export interface operations {
27211
27728
  };
27212
27729
  };
27213
27730
  };
27731
+ };
27732
+ };
27733
+ ItContactsController_create: {
27734
+ parameters: {
27735
+ query?: never;
27736
+ header?: never;
27737
+ path: {
27738
+ /** @description The ID of the organization. */
27739
+ organization_id: string;
27740
+ };
27741
+ cookie?: never;
27742
+ };
27743
+ requestBody: {
27744
+ content: {
27745
+ "application/json": components["schemas"]["CreateItContactDto"];
27746
+ };
27747
+ };
27748
+ responses: {
27749
+ /** @description Created */
27750
+ 201: {
27751
+ headers: {
27752
+ [name: string]: unknown;
27753
+ };
27754
+ content: {
27755
+ "application/json": components["schemas"]["ItContact"];
27756
+ };
27757
+ };
27214
27758
  /** @description Forbidden */
27215
27759
  403: {
27216
27760
  headers: {
@@ -27241,89 +27785,57 @@ export interface operations {
27241
27785
  };
27242
27786
  };
27243
27787
  };
27244
- /** @description Unprocessable Entity */
27245
- 422: {
27788
+ /** @description The email address is already an IT contact of the organization. */
27789
+ 409: {
27246
27790
  headers: {
27247
27791
  [name: string]: unknown;
27248
27792
  };
27249
27793
  content: {
27250
27794
  "application/json": {
27795
+ /**
27796
+ * @description The error code identifying the type of error.
27797
+ * @example it_contact_already_exists
27798
+ * @constant
27799
+ */
27800
+ code: "it_contact_already_exists";
27251
27801
  /**
27252
27802
  * @description A human-readable description of the error.
27253
- * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27803
+ * @example Request could not be processed.
27254
27804
  */
27255
27805
  message: string;
27256
27806
  };
27257
27807
  };
27258
27808
  };
27259
- };
27260
- };
27261
- RadarStandaloneController_assess: {
27262
- parameters: {
27263
- query?: never;
27264
- header?: never;
27265
- path?: never;
27266
- cookie?: never;
27267
- };
27268
- requestBody: {
27269
- content: {
27270
- "application/json": {
27271
- /**
27272
- * @description The IP address of the request to assess.
27273
- * @example 49.78.240.97
27274
- */
27275
- ip_address: string;
27276
- /**
27277
- * @description The user agent string of the request to assess.
27278
- * @example Mozilla/5.0
27279
- */
27280
- user_agent: string;
27281
- /**
27282
- * Format: email
27283
- * @description The email address of the user making the request.
27284
- * @example user@example.com
27285
- */
27286
- email: string;
27287
- /**
27288
- * @description The authentication method being used.
27289
- * @example Password
27290
- * @enum {string}
27291
- */
27292
- auth_method: "Password" | "Passkey" | "Authenticator" | "SMS_OTP" | "Email_OTP" | "Social" | "SSO" | "Other";
27293
- /**
27294
- * @description The action being performed.
27295
- * @example sign-in
27296
- * @enum {string}
27297
- */
27298
- action: "sign-up" | "sign-in";
27299
- /**
27300
- * @description An optional Radar signals ID for the request.
27301
- * @example 01JBS0GN92GC2RJQS4X9DBPQ2A
27302
- */
27303
- signals_id?: string;
27304
- };
27305
- };
27306
- };
27307
- responses: {
27308
- /** @description OK */
27309
- 200: {
27809
+ /** @description Unprocessable Entity */
27810
+ 422: {
27310
27811
  headers: {
27311
27812
  [name: string]: unknown;
27312
27813
  };
27313
27814
  content: {
27314
- "application/json": components["schemas"]["RadarStandaloneResponse"];
27815
+ "application/json": {
27816
+ /**
27817
+ * @description A human-readable description of the error.
27818
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27819
+ */
27820
+ message: string;
27821
+ };
27315
27822
  };
27316
27823
  };
27317
- /** @description Standalone radar is not enabled. */
27318
- 400: {
27824
+ 503: {
27319
27825
  headers: {
27320
27826
  [name: string]: unknown;
27321
27827
  };
27322
27828
  content: {
27323
27829
  "application/json": {
27830
+ /**
27831
+ * @description The error code identifying the type of error.
27832
+ * @example concurrent_request
27833
+ * @constant
27834
+ */
27835
+ code: "concurrent_request";
27324
27836
  /**
27325
27837
  * @description A human-readable description of the error.
27326
- * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27838
+ * @example Request could not be processed.
27327
27839
  */
27328
27840
  message: string;
27329
27841
  };
@@ -27331,44 +27843,563 @@ export interface operations {
27331
27843
  };
27332
27844
  };
27333
27845
  };
27334
- RadarStandaloneController_updateRadarAttempt: {
27846
+ ItContactsController_delete: {
27335
27847
  parameters: {
27336
27848
  query?: never;
27337
27849
  header?: never;
27338
27850
  path: {
27339
- /** @description The unique identifier of the Radar attempt to update. */
27340
- id: string;
27851
+ /** @description The ID of the organization. */
27852
+ organization_id: string;
27853
+ /** @description The ID of the IT contact. */
27854
+ contact_id: string;
27341
27855
  };
27342
27856
  cookie?: never;
27343
27857
  };
27344
- requestBody: {
27345
- content: {
27346
- "application/json": {
27347
- /**
27348
- * @description Set to `"success"` to mark the challenge as completed.
27349
- * @example success
27350
- * @constant
27351
- */
27352
- challenge_status?: "success";
27353
- /**
27354
- * @description Set to `"success"` to mark the authentication attempt as successful.
27355
- * @example success
27356
- * @constant
27357
- */
27358
- attempt_status?: "success";
27359
- };
27360
- };
27361
- };
27858
+ requestBody?: never;
27362
27859
  responses: {
27363
- /** @description Radar attempt updated. */
27860
+ /** @description No Content */
27364
27861
  204: {
27365
27862
  headers: {
27366
27863
  [name: string]: unknown;
27367
27864
  };
27368
27865
  content?: never;
27369
27866
  };
27370
- /** @description Bad Request */
27371
- 400: {
27867
+ /** @description Forbidden */
27868
+ 403: {
27869
+ headers: {
27870
+ [name: string]: unknown;
27871
+ };
27872
+ content: {
27873
+ "application/json": {
27874
+ /**
27875
+ * @description A human-readable description of the error.
27876
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27877
+ */
27878
+ message: string;
27879
+ };
27880
+ };
27881
+ };
27882
+ /** @description Not Found */
27883
+ 404: {
27884
+ headers: {
27885
+ [name: string]: unknown;
27886
+ };
27887
+ content: {
27888
+ "application/json": {
27889
+ /**
27890
+ * @description A human-readable description of the error.
27891
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27892
+ */
27893
+ message: string;
27894
+ };
27895
+ };
27896
+ };
27897
+ 503: {
27898
+ headers: {
27899
+ [name: string]: unknown;
27900
+ };
27901
+ content: {
27902
+ "application/json": {
27903
+ /**
27904
+ * @description The error code identifying the type of error.
27905
+ * @example concurrent_request
27906
+ * @constant
27907
+ */
27908
+ code: "concurrent_request";
27909
+ /**
27910
+ * @description A human-readable description of the error.
27911
+ * @example Request could not be processed.
27912
+ */
27913
+ message: string;
27914
+ };
27915
+ };
27916
+ };
27917
+ };
27918
+ };
27919
+ ItContactsController_invite: {
27920
+ parameters: {
27921
+ query?: never;
27922
+ header?: never;
27923
+ path: {
27924
+ /** @description The ID of the organization. */
27925
+ organization_id: string;
27926
+ /** @description The ID of the IT contact. */
27927
+ contact_id: string;
27928
+ };
27929
+ cookie?: never;
27930
+ };
27931
+ requestBody: {
27932
+ content: {
27933
+ "application/json": components["schemas"]["InviteItContactDto"];
27934
+ };
27935
+ };
27936
+ responses: {
27937
+ /** @description No Content */
27938
+ 204: {
27939
+ headers: {
27940
+ [name: string]: unknown;
27941
+ };
27942
+ content?: never;
27943
+ };
27944
+ /** @description Forbidden */
27945
+ 403: {
27946
+ headers: {
27947
+ [name: string]: unknown;
27948
+ };
27949
+ content: {
27950
+ "application/json": {
27951
+ /**
27952
+ * @description A human-readable description of the error.
27953
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27954
+ */
27955
+ message: string;
27956
+ };
27957
+ };
27958
+ };
27959
+ /** @description Not Found */
27960
+ 404: {
27961
+ headers: {
27962
+ [name: string]: unknown;
27963
+ };
27964
+ content: {
27965
+ "application/json": {
27966
+ /**
27967
+ * @description A human-readable description of the error.
27968
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
27969
+ */
27970
+ message: string;
27971
+ };
27972
+ };
27973
+ };
27974
+ /** @description Another IT contact invitation is already active for the organization. */
27975
+ 409: {
27976
+ headers: {
27977
+ [name: string]: unknown;
27978
+ };
27979
+ content: {
27980
+ "application/json": {
27981
+ /**
27982
+ * @description The error code identifying the type of error.
27983
+ * @example it_contact_invitation_already_active
27984
+ * @constant
27985
+ */
27986
+ code: "it_contact_invitation_already_active";
27987
+ /**
27988
+ * @description A human-readable description of the error.
27989
+ * @example Request could not be processed.
27990
+ */
27991
+ message: string;
27992
+ };
27993
+ };
27994
+ };
27995
+ /** @description Unprocessable Entity */
27996
+ 422: {
27997
+ headers: {
27998
+ [name: string]: unknown;
27999
+ };
28000
+ content: {
28001
+ "application/json": {
28002
+ /**
28003
+ * @description A human-readable description of the error.
28004
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28005
+ */
28006
+ message: string;
28007
+ };
28008
+ };
28009
+ };
28010
+ 503: {
28011
+ headers: {
28012
+ [name: string]: unknown;
28013
+ };
28014
+ content: {
28015
+ "application/json": {
28016
+ /**
28017
+ * @description The error code identifying the type of error.
28018
+ * @example concurrent_request
28019
+ * @constant
28020
+ */
28021
+ code: "concurrent_request";
28022
+ /**
28023
+ * @description A human-readable description of the error.
28024
+ * @example Request could not be processed.
28025
+ */
28026
+ message: string;
28027
+ };
28028
+ };
28029
+ };
28030
+ };
28031
+ };
28032
+ ItContactsController_revoke: {
28033
+ parameters: {
28034
+ query?: never;
28035
+ header?: never;
28036
+ path: {
28037
+ /** @description The ID of the organization. */
28038
+ organization_id: string;
28039
+ /** @description The ID of the IT contact. */
28040
+ contact_id: string;
28041
+ };
28042
+ cookie?: never;
28043
+ };
28044
+ requestBody?: never;
28045
+ responses: {
28046
+ /** @description No Content */
28047
+ 204: {
28048
+ headers: {
28049
+ [name: string]: unknown;
28050
+ };
28051
+ content?: never;
28052
+ };
28053
+ /** @description Forbidden */
28054
+ 403: {
28055
+ headers: {
28056
+ [name: string]: unknown;
28057
+ };
28058
+ content: {
28059
+ "application/json": {
28060
+ /**
28061
+ * @description A human-readable description of the error.
28062
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28063
+ */
28064
+ message: string;
28065
+ };
28066
+ };
28067
+ };
28068
+ /** @description Not Found */
28069
+ 404: {
28070
+ headers: {
28071
+ [name: string]: unknown;
28072
+ };
28073
+ content: {
28074
+ "application/json": {
28075
+ /**
28076
+ * @description A human-readable description of the error.
28077
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28078
+ */
28079
+ message: string;
28080
+ };
28081
+ };
28082
+ };
28083
+ 503: {
28084
+ headers: {
28085
+ [name: string]: unknown;
28086
+ };
28087
+ content: {
28088
+ "application/json": {
28089
+ /**
28090
+ * @description The error code identifying the type of error.
28091
+ * @example concurrent_request
28092
+ * @constant
28093
+ */
28094
+ code: "concurrent_request";
28095
+ /**
28096
+ * @description A human-readable description of the error.
28097
+ * @example Request could not be processed.
28098
+ */
28099
+ message: string;
28100
+ };
28101
+ };
28102
+ };
28103
+ };
28104
+ };
28105
+ TeamsController_createTeam: {
28106
+ parameters: {
28107
+ query?: never;
28108
+ header?: never;
28109
+ path?: never;
28110
+ cookie?: never;
28111
+ };
28112
+ requestBody: {
28113
+ content: {
28114
+ "application/json": components["schemas"]["CreateTeamDto"];
28115
+ };
28116
+ };
28117
+ responses: {
28118
+ /** @description Created */
28119
+ 201: {
28120
+ headers: {
28121
+ [name: string]: unknown;
28122
+ };
28123
+ content: {
28124
+ "application/json": components["schemas"]["Team"];
28125
+ };
28126
+ };
28127
+ 409: {
28128
+ headers: {
28129
+ [name: string]: unknown;
28130
+ };
28131
+ content: {
28132
+ "application/json": {
28133
+ /**
28134
+ * @description The error code identifying the type of error.
28135
+ * @example user_already_exists
28136
+ * @constant
28137
+ */
28138
+ code: "user_already_exists";
28139
+ /**
28140
+ * @description A human-readable description of the error.
28141
+ * @example Request could not be processed.
28142
+ */
28143
+ message: string;
28144
+ };
28145
+ };
28146
+ };
28147
+ /** @description Unprocessable Entity */
28148
+ 422: {
28149
+ headers: {
28150
+ [name: string]: unknown;
28151
+ };
28152
+ content: {
28153
+ "application/json": {
28154
+ /**
28155
+ * @description A human-readable description of the error.
28156
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28157
+ */
28158
+ message: string;
28159
+ };
28160
+ };
28161
+ };
28162
+ };
28163
+ };
28164
+ TeamsController_getTeam: {
28165
+ parameters: {
28166
+ query?: never;
28167
+ header?: never;
28168
+ path: {
28169
+ /** @description The ID of the team. */
28170
+ team_id: string;
28171
+ };
28172
+ cookie?: never;
28173
+ };
28174
+ requestBody?: never;
28175
+ responses: {
28176
+ /** @description OK */
28177
+ 200: {
28178
+ headers: {
28179
+ [name: string]: unknown;
28180
+ };
28181
+ content: {
28182
+ "application/json": components["schemas"]["Team"];
28183
+ };
28184
+ };
28185
+ /** @description Not Found */
28186
+ 404: {
28187
+ headers: {
28188
+ [name: string]: unknown;
28189
+ };
28190
+ content: {
28191
+ "application/json": {
28192
+ /**
28193
+ * @description The error code identifying the type of error.
28194
+ * @example team_not_found
28195
+ * @constant
28196
+ */
28197
+ code: "team_not_found";
28198
+ /**
28199
+ * @description A human-readable description of the error.
28200
+ * @example Request could not be processed.
28201
+ */
28202
+ message: string;
28203
+ };
28204
+ };
28205
+ };
28206
+ };
28207
+ };
28208
+ PortalSessionsController_create: {
28209
+ parameters: {
28210
+ query?: never;
28211
+ header?: never;
28212
+ path?: never;
28213
+ cookie?: never;
28214
+ };
28215
+ requestBody: {
28216
+ content: {
28217
+ "application/json": components["schemas"]["GenerateLinkDto"];
28218
+ };
28219
+ };
28220
+ responses: {
28221
+ /** @description Created */
28222
+ 201: {
28223
+ headers: {
28224
+ [name: string]: unknown;
28225
+ };
28226
+ content: {
28227
+ "application/json": components["schemas"]["PortalLinkResponse"];
28228
+ };
28229
+ };
28230
+ /** @description Bad Request */
28231
+ 400: {
28232
+ headers: {
28233
+ [name: string]: unknown;
28234
+ };
28235
+ content: {
28236
+ "application/json": {
28237
+ /**
28238
+ * @description A human-readable description of the error.
28239
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28240
+ */
28241
+ message: string;
28242
+ };
28243
+ };
28244
+ };
28245
+ /** @description Forbidden */
28246
+ 403: {
28247
+ headers: {
28248
+ [name: string]: unknown;
28249
+ };
28250
+ content: {
28251
+ "application/json": {
28252
+ /**
28253
+ * @description A human-readable description of the error.
28254
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28255
+ */
28256
+ message: string;
28257
+ };
28258
+ };
28259
+ };
28260
+ /** @description Not Found */
28261
+ 404: {
28262
+ headers: {
28263
+ [name: string]: unknown;
28264
+ };
28265
+ content: {
28266
+ "application/json": {
28267
+ /**
28268
+ * @description A human-readable description of the error.
28269
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28270
+ */
28271
+ message: string;
28272
+ };
28273
+ };
28274
+ };
28275
+ /** @description Unprocessable Entity */
28276
+ 422: {
28277
+ headers: {
28278
+ [name: string]: unknown;
28279
+ };
28280
+ content: {
28281
+ "application/json": {
28282
+ /**
28283
+ * @description A human-readable description of the error.
28284
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28285
+ */
28286
+ message: string;
28287
+ };
28288
+ };
28289
+ };
28290
+ };
28291
+ };
28292
+ RadarStandaloneController_assess: {
28293
+ parameters: {
28294
+ query?: never;
28295
+ header?: never;
28296
+ path?: never;
28297
+ cookie?: never;
28298
+ };
28299
+ requestBody: {
28300
+ content: {
28301
+ "application/json": {
28302
+ /**
28303
+ * @description The IP address of the request to assess.
28304
+ * @example 49.78.240.97
28305
+ */
28306
+ ip_address: string;
28307
+ /**
28308
+ * @description The user agent string of the request to assess.
28309
+ * @example Mozilla/5.0
28310
+ */
28311
+ user_agent: string;
28312
+ /**
28313
+ * Format: email
28314
+ * @description The email address of the user making the request.
28315
+ * @example user@example.com
28316
+ */
28317
+ email: string;
28318
+ /**
28319
+ * @description The authentication method being used.
28320
+ * @example Password
28321
+ * @enum {string}
28322
+ */
28323
+ auth_method: "Password" | "Passkey" | "Authenticator" | "SMS_OTP" | "Email_OTP" | "Social" | "SSO" | "Other";
28324
+ /**
28325
+ * @description The action being performed.
28326
+ * @example sign-in
28327
+ * @enum {string}
28328
+ */
28329
+ action: "sign-up" | "sign-in";
28330
+ /**
28331
+ * @description An optional Radar signals ID for the request.
28332
+ * @example 01JBS0GN92GC2RJQS4X9DBPQ2A
28333
+ */
28334
+ signals_id?: string;
28335
+ };
28336
+ };
28337
+ };
28338
+ responses: {
28339
+ /** @description OK */
28340
+ 200: {
28341
+ headers: {
28342
+ [name: string]: unknown;
28343
+ };
28344
+ content: {
28345
+ "application/json": components["schemas"]["RadarStandaloneResponse"];
28346
+ };
28347
+ };
28348
+ /** @description Standalone radar is not enabled. */
28349
+ 400: {
28350
+ headers: {
28351
+ [name: string]: unknown;
28352
+ };
28353
+ content: {
28354
+ "application/json": {
28355
+ /**
28356
+ * @description A human-readable description of the error.
28357
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
28358
+ */
28359
+ message: string;
28360
+ };
28361
+ };
28362
+ };
28363
+ };
28364
+ };
28365
+ RadarStandaloneController_updateRadarAttempt: {
28366
+ parameters: {
28367
+ query?: never;
28368
+ header?: never;
28369
+ path: {
28370
+ /** @description The unique identifier of the Radar attempt to update. */
28371
+ id: string;
28372
+ };
28373
+ cookie?: never;
28374
+ };
28375
+ requestBody: {
28376
+ content: {
28377
+ "application/json": {
28378
+ /**
28379
+ * @description Set to `"success"` to mark the challenge as completed.
28380
+ * @example success
28381
+ * @constant
28382
+ */
28383
+ challenge_status?: "success";
28384
+ /**
28385
+ * @description Set to `"success"` to mark the authentication attempt as successful.
28386
+ * @example success
28387
+ * @constant
28388
+ */
28389
+ attempt_status?: "success";
28390
+ };
28391
+ };
28392
+ };
28393
+ responses: {
28394
+ /** @description Radar attempt updated. */
28395
+ 204: {
28396
+ headers: {
28397
+ [name: string]: unknown;
28398
+ };
28399
+ content?: never;
28400
+ };
28401
+ /** @description Bad Request */
28402
+ 400: {
27372
28403
  headers: {
27373
28404
  [name: string]: unknown;
27374
28405
  };
@@ -27811,10 +28842,10 @@ export interface operations {
27811
28842
  client_id: string;
27812
28843
  /** @description The client secret of the WorkOS environment. */
27813
28844
  client_secret: string;
27814
- /** @description The authorization code received from the authorization callback. */
27815
- code: string;
28845
+ /** @description The authorization code received from the authorization callback. Required when `grant_type` is `authorization_code`. */
28846
+ code?: string;
27816
28847
  /** @description The grant type for the token request. */
27817
- grant_type: "authorization_code";
28848
+ grant_type: "authorization_code" | "urn:ietf:params:oauth:grant-type:token-exchange";
27818
28849
  };
27819
28850
  header?: never;
27820
28851
  path?: never;
@@ -27822,7 +28853,7 @@ export interface operations {
27822
28853
  };
27823
28854
  requestBody: {
27824
28855
  content: {
27825
- "application/json": components["schemas"]["TokenQueryDto"];
28856
+ "application/json": components["schemas"]["TokenBodyDto"];
27826
28857
  };
27827
28858
  };
27828
28859
  responses: {
@@ -32185,26 +33216,6 @@ export interface operations {
32185
33216
  };
32186
33217
  };
32187
33218
  };
32188
- 409: {
32189
- headers: {
32190
- [name: string]: unknown;
32191
- };
32192
- content: {
32193
- "application/json": {
32194
- /**
32195
- * @description The error code identifying the type of error.
32196
- * @example user_deletion_not_allowed
32197
- * @constant
32198
- */
32199
- code: "user_deletion_not_allowed";
32200
- /**
32201
- * @description A human-readable description of the error.
32202
- * @example Request could not be processed.
32203
- */
32204
- message: string;
32205
- };
32206
- };
32207
- };
32208
33219
  };
32209
33220
  };
32210
33221
  UserlandUsersController_confirmEmailChange: {
@@ -33694,6 +34705,528 @@ export interface operations {
33694
34705
  };
33695
34706
  };
33696
34707
  };
34708
+ WaitlistEntriesController_delete: {
34709
+ parameters: {
34710
+ query?: never;
34711
+ header?: never;
34712
+ path: {
34713
+ /** @description The unique ID of the waitlist entry. */
34714
+ id: string;
34715
+ };
34716
+ cookie?: never;
34717
+ };
34718
+ requestBody?: never;
34719
+ responses: {
34720
+ /** @description No Content */
34721
+ 204: {
34722
+ headers: {
34723
+ [name: string]: unknown;
34724
+ };
34725
+ content?: never;
34726
+ };
34727
+ /** @description Not Found */
34728
+ 404: {
34729
+ headers: {
34730
+ [name: string]: unknown;
34731
+ };
34732
+ content: {
34733
+ "application/json": {
34734
+ /**
34735
+ * @description A human-readable description of the error.
34736
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
34737
+ */
34738
+ message: string;
34739
+ };
34740
+ };
34741
+ };
34742
+ };
34743
+ };
34744
+ WaitlistEntriesController_approve: {
34745
+ parameters: {
34746
+ query?: never;
34747
+ header?: never;
34748
+ path: {
34749
+ /** @description The unique ID of the waitlist entry. */
34750
+ id: string;
34751
+ };
34752
+ cookie?: never;
34753
+ };
34754
+ requestBody?: never;
34755
+ responses: {
34756
+ /** @description OK */
34757
+ 200: {
34758
+ headers: {
34759
+ [name: string]: unknown;
34760
+ };
34761
+ content: {
34762
+ "application/json": {
34763
+ /**
34764
+ * @description The unique ID of the waitlist entry.
34765
+ * @example wl_user_01E4ZCR3C56J083X43JQXF3JK5
34766
+ */
34767
+ id: string;
34768
+ /**
34769
+ * @description The email address of the user on the waitlist.
34770
+ * @example marcelina.davis@example.com
34771
+ */
34772
+ email: string;
34773
+ /**
34774
+ * @description The state of the waitlist entry.
34775
+ * @example approved
34776
+ * @enum {string}
34777
+ */
34778
+ state: "pending" | "approved" | "denied";
34779
+ /**
34780
+ * Format: date-time
34781
+ * @description The timestamp when the entry was approved, or null if not yet approved.
34782
+ * @example 2026-01-15T12:00:00.000Z
34783
+ */
34784
+ approved_at: string | null;
34785
+ /**
34786
+ * @description Additional fields submitted when the user joined the waitlist. Values are user-provided — treat them as untrusted input when rendering or exporting.
34787
+ * @example {
34788
+ * "company": "Example Corp"
34789
+ * }
34790
+ */
34791
+ additional_fields?: {
34792
+ [key: string]: string;
34793
+ };
34794
+ /**
34795
+ * @description The unique ID of the waitlist the entry belongs to.
34796
+ * @example waitlist_01E4ZCR3C56J083X43JQXF3JK5
34797
+ */
34798
+ waitlist_id?: string | null;
34799
+ /**
34800
+ * Format: date-time
34801
+ * @description An ISO 8601 timestamp.
34802
+ * @example 2026-01-15T12:00:00.000Z
34803
+ */
34804
+ created_at: string;
34805
+ /**
34806
+ * Format: date-time
34807
+ * @description An ISO 8601 timestamp.
34808
+ * @example 2026-01-15T12:00:00.000Z
34809
+ */
34810
+ updated_at: string;
34811
+ /**
34812
+ * @description Distinguishes the Waitlist Entry object.
34813
+ * @constant
34814
+ */
34815
+ object: "waitlist_entry";
34816
+ };
34817
+ };
34818
+ };
34819
+ /** @description Not Found */
34820
+ 404: {
34821
+ headers: {
34822
+ [name: string]: unknown;
34823
+ };
34824
+ content: {
34825
+ "application/json": {
34826
+ /**
34827
+ * @description A human-readable description of the error.
34828
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
34829
+ */
34830
+ message: string;
34831
+ };
34832
+ };
34833
+ };
34834
+ /** @description Unprocessable Entity */
34835
+ 422: {
34836
+ headers: {
34837
+ [name: string]: unknown;
34838
+ };
34839
+ content: {
34840
+ "application/json": {
34841
+ /**
34842
+ * @description The error code identifying the type of error.
34843
+ * @example invalid_state
34844
+ * @constant
34845
+ */
34846
+ code: "invalid_state";
34847
+ /**
34848
+ * @description A human-readable description of the error.
34849
+ * @example Request could not be processed.
34850
+ */
34851
+ message: string;
34852
+ } | {
34853
+ /**
34854
+ * @description The error code identifying the type of error.
34855
+ * @example invitation_email_not_sent
34856
+ * @constant
34857
+ */
34858
+ code: "invitation_email_not_sent";
34859
+ /**
34860
+ * @description A human-readable description of the error.
34861
+ * @example Request could not be processed.
34862
+ */
34863
+ message: string;
34864
+ };
34865
+ };
34866
+ };
34867
+ };
34868
+ };
34869
+ WaitlistEntriesController_deny: {
34870
+ parameters: {
34871
+ query?: never;
34872
+ header?: never;
34873
+ path: {
34874
+ /** @description The unique ID of the waitlist entry. */
34875
+ id: string;
34876
+ };
34877
+ cookie?: never;
34878
+ };
34879
+ requestBody?: never;
34880
+ responses: {
34881
+ /** @description OK */
34882
+ 200: {
34883
+ headers: {
34884
+ [name: string]: unknown;
34885
+ };
34886
+ content: {
34887
+ "application/json": {
34888
+ /**
34889
+ * @description The unique ID of the waitlist entry.
34890
+ * @example wl_user_01E4ZCR3C56J083X43JQXF3JK5
34891
+ */
34892
+ id: string;
34893
+ /**
34894
+ * @description The email address of the user on the waitlist.
34895
+ * @example marcelina.davis@example.com
34896
+ */
34897
+ email: string;
34898
+ /**
34899
+ * @description The state of the waitlist entry.
34900
+ * @example denied
34901
+ * @enum {string}
34902
+ */
34903
+ state: "pending" | "approved" | "denied";
34904
+ /**
34905
+ * Format: date-time
34906
+ * @description The timestamp when the entry was approved, or null if not yet approved.
34907
+ * @example null
34908
+ */
34909
+ approved_at: string | null;
34910
+ /**
34911
+ * @description Additional fields submitted when the user joined the waitlist. Values are user-provided — treat them as untrusted input when rendering or exporting.
34912
+ * @example {
34913
+ * "company": "Example Corp"
34914
+ * }
34915
+ */
34916
+ additional_fields?: {
34917
+ [key: string]: string;
34918
+ };
34919
+ /**
34920
+ * @description The unique ID of the waitlist the entry belongs to.
34921
+ * @example waitlist_01E4ZCR3C56J083X43JQXF3JK5
34922
+ */
34923
+ waitlist_id?: string | null;
34924
+ /**
34925
+ * Format: date-time
34926
+ * @description An ISO 8601 timestamp.
34927
+ * @example 2026-01-15T12:00:00.000Z
34928
+ */
34929
+ created_at: string;
34930
+ /**
34931
+ * Format: date-time
34932
+ * @description An ISO 8601 timestamp.
34933
+ * @example 2026-01-15T12:00:00.000Z
34934
+ */
34935
+ updated_at: string;
34936
+ /**
34937
+ * @description Distinguishes the Waitlist Entry object.
34938
+ * @constant
34939
+ */
34940
+ object: "waitlist_entry";
34941
+ };
34942
+ };
34943
+ };
34944
+ /** @description Not Found */
34945
+ 404: {
34946
+ headers: {
34947
+ [name: string]: unknown;
34948
+ };
34949
+ content: {
34950
+ "application/json": {
34951
+ /**
34952
+ * @description A human-readable description of the error.
34953
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
34954
+ */
34955
+ message: string;
34956
+ };
34957
+ };
34958
+ };
34959
+ /** @description Unprocessable Entity */
34960
+ 422: {
34961
+ headers: {
34962
+ [name: string]: unknown;
34963
+ };
34964
+ content: {
34965
+ "application/json": {
34966
+ /**
34967
+ * @description The error code identifying the type of error.
34968
+ * @example invalid_state
34969
+ * @constant
34970
+ */
34971
+ code: "invalid_state";
34972
+ /**
34973
+ * @description A human-readable description of the error.
34974
+ * @example Request could not be processed.
34975
+ */
34976
+ message: string;
34977
+ };
34978
+ };
34979
+ };
34980
+ };
34981
+ };
34982
+ WaitlistsController_list: {
34983
+ parameters: {
34984
+ query?: never;
34985
+ header?: never;
34986
+ path?: never;
34987
+ cookie?: never;
34988
+ };
34989
+ requestBody?: never;
34990
+ responses: {
34991
+ /** @description OK */
34992
+ 200: {
34993
+ headers: {
34994
+ [name: string]: unknown;
34995
+ };
34996
+ content: {
34997
+ "application/json": {
34998
+ /**
34999
+ * @description Indicates this is a list response.
35000
+ * @constant
35001
+ */
35002
+ object: "list";
35003
+ /** @description The list of records for the current page. */
35004
+ data: components["schemas"]["Waitlist"][];
35005
+ /** @description Pagination cursors for navigating between pages of results. */
35006
+ list_metadata: {
35007
+ /**
35008
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the start of the list.
35009
+ * @example null
35010
+ */
35011
+ before: string | null;
35012
+ /**
35013
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list.
35014
+ * @example null
35015
+ */
35016
+ after: string | null;
35017
+ };
35018
+ };
35019
+ };
35020
+ };
35021
+ };
35022
+ };
35023
+ WaitlistsController_find: {
35024
+ parameters: {
35025
+ query?: never;
35026
+ header?: never;
35027
+ path: {
35028
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
35029
+ id: string;
35030
+ };
35031
+ cookie?: never;
35032
+ };
35033
+ requestBody?: never;
35034
+ responses: {
35035
+ /** @description OK */
35036
+ 200: {
35037
+ headers: {
35038
+ [name: string]: unknown;
35039
+ };
35040
+ content: {
35041
+ "application/json": components["schemas"]["Waitlist"];
35042
+ };
35043
+ };
35044
+ /** @description Not Found */
35045
+ 404: {
35046
+ headers: {
35047
+ [name: string]: unknown;
35048
+ };
35049
+ content: {
35050
+ "application/json": {
35051
+ /**
35052
+ * @description A human-readable description of the error.
35053
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
35054
+ */
35055
+ message: string;
35056
+ };
35057
+ };
35058
+ };
35059
+ };
35060
+ };
35061
+ WaitlistsController_listEntries: {
35062
+ parameters: {
35063
+ query?: {
35064
+ /** @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. */
35065
+ before?: string;
35066
+ /** @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. */
35067
+ after?: string;
35068
+ /** @description Upper limit on the number of objects to return, between `1` and `100`. */
35069
+ limit?: number;
35070
+ /** @description Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). */
35071
+ order?: components["schemas"]["PaginationOrder"];
35072
+ /** @description Filter waitlist entries by their state. */
35073
+ state?: "pending" | "approved" | "denied";
35074
+ /** @description Filter waitlist entries by their exact email address. */
35075
+ email?: string;
35076
+ };
35077
+ header?: never;
35078
+ path: {
35079
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
35080
+ id: string;
35081
+ };
35082
+ cookie?: never;
35083
+ };
35084
+ requestBody?: never;
35085
+ responses: {
35086
+ /** @description OK */
35087
+ 200: {
35088
+ headers: {
35089
+ [name: string]: unknown;
35090
+ };
35091
+ content: {
35092
+ "application/json": {
35093
+ /**
35094
+ * @description Indicates this is a list response.
35095
+ * @constant
35096
+ */
35097
+ object?: "list";
35098
+ /** @description Pagination cursors for navigating between pages of results. */
35099
+ list_metadata?: {
35100
+ /**
35101
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the start of the list.
35102
+ * @example wl_user_01HXYZ123456789ABCDEFGHIJ
35103
+ */
35104
+ before: string | null;
35105
+ /**
35106
+ * @description An object ID that defines your place in the list. When the ID is not present, you are at the end of the list.
35107
+ * @example wl_user_01HXYZ987654321KJIHGFEDCBA
35108
+ */
35109
+ after: string | null;
35110
+ };
35111
+ } & {
35112
+ /** @description The list of records for the current page. */
35113
+ data?: components["schemas"]["WaitlistEntry"][];
35114
+ };
35115
+ };
35116
+ };
35117
+ /** @description Not Found */
35118
+ 404: {
35119
+ headers: {
35120
+ [name: string]: unknown;
35121
+ };
35122
+ content: {
35123
+ "application/json": {
35124
+ /**
35125
+ * @description A human-readable description of the error.
35126
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
35127
+ */
35128
+ message: string;
35129
+ };
35130
+ };
35131
+ };
35132
+ /** @description Unprocessable Entity */
35133
+ 422: {
35134
+ headers: {
35135
+ [name: string]: unknown;
35136
+ };
35137
+ content: {
35138
+ "application/json": {
35139
+ /**
35140
+ * @description The error code identifying the type of error.
35141
+ * @example invalid_request_parameters
35142
+ * @constant
35143
+ */
35144
+ code: "invalid_request_parameters";
35145
+ /**
35146
+ * @description A human-readable description of the error.
35147
+ * @example Validation failed.
35148
+ */
35149
+ message: string;
35150
+ };
35151
+ };
35152
+ };
35153
+ };
35154
+ };
35155
+ WaitlistsController_createEntry: {
35156
+ parameters: {
35157
+ query?: never;
35158
+ header?: never;
35159
+ path: {
35160
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
35161
+ id: string;
35162
+ };
35163
+ cookie?: never;
35164
+ };
35165
+ requestBody: {
35166
+ content: {
35167
+ "application/json": components["schemas"]["CreateWaitlistEntryDto"];
35168
+ };
35169
+ };
35170
+ responses: {
35171
+ /** @description Created */
35172
+ 201: {
35173
+ headers: {
35174
+ [name: string]: unknown;
35175
+ };
35176
+ content: {
35177
+ "application/json": components["schemas"]["WaitlistEntry"];
35178
+ };
35179
+ };
35180
+ /** @description Not Found */
35181
+ 404: {
35182
+ headers: {
35183
+ [name: string]: unknown;
35184
+ };
35185
+ content: {
35186
+ "application/json": {
35187
+ /**
35188
+ * @description A human-readable description of the error.
35189
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
35190
+ */
35191
+ message: string;
35192
+ };
35193
+ };
35194
+ };
35195
+ /** @description Unprocessable Entity */
35196
+ 422: {
35197
+ headers: {
35198
+ [name: string]: unknown;
35199
+ };
35200
+ content: {
35201
+ "application/json": {
35202
+ /**
35203
+ * @description The error code identifying the type of error.
35204
+ * @example user_already_exists
35205
+ * @constant
35206
+ */
35207
+ code: "user_already_exists";
35208
+ /**
35209
+ * @description A human-readable description of the error.
35210
+ * @example Request could not be processed.
35211
+ */
35212
+ message: string;
35213
+ } | {
35214
+ /**
35215
+ * @description The error code identifying the type of error.
35216
+ * @example invalid_request_parameters
35217
+ * @constant
35218
+ */
35219
+ code: "invalid_request_parameters";
35220
+ /**
35221
+ * @description A human-readable description of the error.
35222
+ * @example Validation failed.
35223
+ */
35224
+ message: string;
35225
+ };
35226
+ };
35227
+ };
35228
+ };
35229
+ };
33697
35230
  "JumpWireWeb.KeyController.create_data_key": {
33698
35231
  parameters: {
33699
35232
  query?: never;