@workos/openapi-spec 0.69.0 → 0.71.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
@@ -1042,13 +1042,149 @@ export interface paths {
1042
1042
  */
1043
1043
  get: operations["ConnectionsController_list"];
1044
1044
  put?: never;
1045
+ /**
1046
+ * Create a Connection
1047
+ * @description Creates a new connection for an organization. Provide `saml_options` or `oidc_options` to configure the identity provider. When `external_id` matches an existing connection in the organization, that connection is returned instead of creating a duplicate.
1048
+ */
1049
+ post: operations["ConnectionsController_create"];
1050
+ delete?: never;
1051
+ options?: never;
1052
+ head?: never;
1053
+ patch?: never;
1054
+ trace?: never;
1055
+ };
1056
+ "/connections/{connectionId}/saml_idp_signing_certs": {
1057
+ parameters: {
1058
+ query?: never;
1059
+ header?: never;
1060
+ path?: never;
1061
+ cookie?: never;
1062
+ };
1063
+ /**
1064
+ * List IdP signing certificates
1065
+ * @description Lists every Identity Provider signing certificate on the connection, including expired ones, oldest first.
1066
+ */
1067
+ get: operations["SamlIdpSigningCertificatesController_list"];
1068
+ put?: never;
1069
+ /**
1070
+ * Create an IdP signing certificate
1071
+ * @description Adds an Identity Provider signing certificate to the connection, so SAML responses signed with its key can be verified. Use this to import a new certificate ahead of an Identity Provider rotation — the existing certificates keep working until they are deleted or expire.
1072
+ */
1073
+ post: operations["SamlIdpSigningCertificatesController_create"];
1074
+ delete?: never;
1075
+ options?: never;
1076
+ head?: never;
1077
+ patch?: never;
1078
+ trace?: never;
1079
+ };
1080
+ "/connections/{connectionId}/saml_idp_signing_certs/{certificateId}": {
1081
+ parameters: {
1082
+ query?: never;
1083
+ header?: never;
1084
+ path?: never;
1085
+ cookie?: never;
1086
+ };
1087
+ get?: never;
1088
+ put?: never;
1045
1089
  post?: never;
1090
+ /**
1091
+ * Delete an IdP signing certificate
1092
+ * @description Removes an Identity Provider signing certificate from the connection. The last remaining certificate cannot be deleted. A certificate still published in the Identity Provider metadata may be restored by a metadata refresh.
1093
+ */
1094
+ delete: operations["SamlIdpSigningCertificatesController_delete"];
1095
+ options?: never;
1096
+ head?: never;
1097
+ patch?: never;
1098
+ trace?: never;
1099
+ };
1100
+ "/connections/{connectionId}/saml_sp_encryption_certs": {
1101
+ parameters: {
1102
+ query?: never;
1103
+ header?: never;
1104
+ path?: never;
1105
+ cookie?: never;
1106
+ };
1107
+ /**
1108
+ * List SP encryption certificates
1109
+ * @description Lists the public certificates the Identity Provider can use to encrypt SAML responses sent to WorkOS, including expired ones, oldest first.
1110
+ */
1111
+ get: operations["SamlSpEncryptionCertificatesController_list"];
1112
+ put?: never;
1113
+ /**
1114
+ * Create an SP encryption certificate
1115
+ * @description Generates a new encryption key pair for the connection and returns its public certificate. WorkOS holds the private key, so the request takes no body — to bring your own key pairs, provide `saml_options.sp_encryption_key_pairs` when creating the connection instead. Creating a certificate appends rather than replaces: every active private key is tried when decrypting, which lets a rotation overlap the old and new certificates.
1116
+ */
1117
+ post: operations["SamlSpEncryptionCertificatesController_create"];
1046
1118
  delete?: never;
1047
1119
  options?: never;
1048
1120
  head?: never;
1049
1121
  patch?: never;
1050
1122
  trace?: never;
1051
1123
  };
1124
+ "/connections/{connectionId}/saml_sp_encryption_certs/{certificateId}": {
1125
+ parameters: {
1126
+ query?: never;
1127
+ header?: never;
1128
+ path?: never;
1129
+ cookie?: never;
1130
+ };
1131
+ get?: never;
1132
+ put?: never;
1133
+ post?: never;
1134
+ /**
1135
+ * Delete an SP encryption certificate
1136
+ * @description Removes an encryption key pair from the connection. SAML responses encrypted with its certificate can no longer be decrypted, so remove the certificate from the Identity Provider first when rotating.
1137
+ */
1138
+ delete: operations["SamlSpEncryptionCertificatesController_delete"];
1139
+ options?: never;
1140
+ head?: never;
1141
+ patch?: never;
1142
+ trace?: never;
1143
+ };
1144
+ "/connections/{connectionId}/saml_sp_signing_cert": {
1145
+ parameters: {
1146
+ query?: never;
1147
+ header?: never;
1148
+ path?: never;
1149
+ cookie?: never;
1150
+ };
1151
+ /**
1152
+ * Get the SP signing certificate
1153
+ * @description Returns the public certificate the Identity Provider can use to verify the signature of SAML requests sent by WorkOS. Responds with `404` when the connection has no request signing key pair.
1154
+ */
1155
+ get: operations["SamlSpSigningCertificatesController_get"];
1156
+ put?: never;
1157
+ /**
1158
+ * Create an SP signing certificate
1159
+ * @description Generates a new request signing key pair for the connection and returns its public certificate. WorkOS holds the private key, so the request takes no body — to bring your own key pair, provide `saml_options.sp_signing_key_pair` when creating the connection instead. A connection signs with one key pair at a time: delete the existing certificate before creating its replacement.
1160
+ */
1161
+ post: operations["SamlSpSigningCertificatesController_create"];
1162
+ delete?: never;
1163
+ options?: never;
1164
+ head?: never;
1165
+ patch?: never;
1166
+ trace?: never;
1167
+ };
1168
+ "/connections/{connectionId}/saml_sp_signing_cert/{certificateId}": {
1169
+ parameters: {
1170
+ query?: never;
1171
+ header?: never;
1172
+ path?: never;
1173
+ cookie?: never;
1174
+ };
1175
+ get?: never;
1176
+ put?: never;
1177
+ post?: never;
1178
+ /**
1179
+ * Delete the SP signing certificate
1180
+ * @description Removes the request signing key pair from the connection, after which SAML requests are sent unsigned. Delete the certificate before creating its replacement when rotating.
1181
+ */
1182
+ delete: operations["SamlSpSigningCertificatesController_delete"];
1183
+ options?: never;
1184
+ head?: never;
1185
+ patch?: never;
1186
+ trace?: never;
1187
+ };
1052
1188
  "/connections/{id}": {
1053
1189
  parameters: {
1054
1190
  query?: never;
@@ -1070,7 +1206,11 @@ export interface paths {
1070
1206
  delete: operations["ConnectionsController_delete"];
1071
1207
  options?: never;
1072
1208
  head?: never;
1073
- patch?: never;
1209
+ /**
1210
+ * Update a Connection
1211
+ * @description Updates an existing connection. Only the provided fields are changed; fields that accept `null` are reset to their default behavior.
1212
+ */
1213
+ patch: operations["ConnectionsController_patch"];
1074
1214
  trace?: never;
1075
1215
  };
1076
1216
  "/data-integrations": {
@@ -3147,7 +3287,7 @@ export interface paths {
3147
3287
  post?: never;
3148
3288
  /**
3149
3289
  * 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.
3290
+ * @description Remove the entry from the waitlist. Its email address can join again unless a user with that email now exists in the environment. Deleting the entry does not revoke an invitation created by approving it — [revoke that invitation](/reference/authkit/invitation/revoke) separately to withdraw access.
3151
3291
  */
3152
3292
  delete: operations["WaitlistEntriesController_delete"];
3153
3293
  options?: never;
@@ -3166,7 +3306,11 @@ export interface paths {
3166
3306
  put?: never;
3167
3307
  /**
3168
3308
  * 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.
3309
+ * @description Approve a waitlist entry, create an invitation for its email address, and send the invitation email. Approving a denied entry reverses the denial. The approval is saved even when the invitation steps fail, so instead of retrying the approval, recover based on the outcome:
3310
+ *
3311
+ * - `200` — the entry is approved. If invitation creation failed, no invitation exists yet; [send](/reference/authkit/invitation/send) one.
3312
+ * - `422` with code `invitation_email_not_sent` — the entry is approved and an invitation exists, but its email was not sent; [resend](/reference/authkit/invitation/resend) it.
3313
+ * - `422` with code `invalid_state` — the entry was already approved.
3170
3314
  */
3171
3315
  post: operations["WaitlistEntriesController_approve"];
3172
3316
  delete?: never;
@@ -3186,7 +3330,7 @@ export interface paths {
3186
3330
  put?: never;
3187
3331
  /**
3188
3332
  * Deny a waitlist entry
3189
- * @description Deny a pending waitlist entry. A denial can be reversed by approving the entry.
3333
+ * @description Deny a pending waitlist entry. Denying an entry that is not pending fails with the code `invalid_state`. A denial can be reversed by approving the entry.
3190
3334
  */
3191
3335
  post: operations["WaitlistEntriesController_deny"];
3192
3336
  delete?: never;
@@ -3204,7 +3348,7 @@ export interface paths {
3204
3348
  };
3205
3349
  /**
3206
3350
  * List waitlists
3207
- * @description Get a list of the waitlists in the environment.
3351
+ * @description Get a list of the waitlists in the environment. All waitlists are returned in a single response — this endpoint is not paginated, so the `list_metadata` cursors are always `null`.
3208
3352
  */
3209
3353
  get: operations["WaitlistsController_list"];
3210
3354
  put?: never;
@@ -3250,7 +3394,7 @@ export interface paths {
3250
3394
  put?: never;
3251
3395
  /**
3252
3396
  * 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.
3397
+ * @description Add an email address to the waitlist. Email addresses are normalized and unique per environment: a request for an email address already on the waitlist returns the existing entry unchanged (still with status `201`) and does not send another confirmation email. If a user with the email address already exists in the environment, the request fails with the code `user_already_exists`.
3254
3398
  */
3255
3399
  post: operations["WaitlistsController_createEntry"];
3256
3400
  delete?: never;
@@ -4297,6 +4441,334 @@ export interface components {
4297
4441
  */
4298
4442
  parent_resource_type_slug: string;
4299
4443
  });
4444
+ CreateConnectionKeyPairDto: {
4445
+ /**
4446
+ * @description The PEM-encoded private key.
4447
+ * @example -----BEGIN PRIVATE KEY-----
4448
+ * MIIE...
4449
+ * -----END PRIVATE KEY-----
4450
+ */
4451
+ key: string;
4452
+ /**
4453
+ * @description The PEM-encoded X.509 certificate for the key.
4454
+ * @example -----BEGIN CERTIFICATE-----
4455
+ * MIIC...
4456
+ * -----END CERTIFICATE-----
4457
+ */
4458
+ cert: string;
4459
+ };
4460
+ CreateConnectionSamlOptionsDto: {
4461
+ /**
4462
+ * Format: uri
4463
+ * @description The Identity Provider metadata URL. When provided, the IdP fields and signing certificates are imported from the metadata document. Mutually exclusive with the manual IdP fields.
4464
+ * @example https://idp.example.com/metadata.xml
4465
+ */
4466
+ idp_metadata_url?: string;
4467
+ /**
4468
+ * Format: uri
4469
+ * @description A custom Assertion Consumer Service (ACS) URL override. When omitted, the standard WorkOS-generated ACS URL is used.
4470
+ * @example https://example.auth0.com/login/callback?connection=123
4471
+ */
4472
+ acs_url?: string;
4473
+ /**
4474
+ * @description A custom Service Provider Entity ID (audience) override. When omitted, the connection external key is used.
4475
+ * @example https://example.auth0.com/login/callback?connection=123
4476
+ */
4477
+ sp_entity_id?: string;
4478
+ /**
4479
+ * @description The Identity Provider Entity ID.
4480
+ * @example https://idp.example.com/entity
4481
+ */
4482
+ idp_entity_id?: string;
4483
+ /**
4484
+ * Format: uri
4485
+ * @description The Identity Provider SSO URL. Required when configuring the connection with manual IdP fields.
4486
+ * @example https://idp.example.com/sso
4487
+ */
4488
+ idp_sso_url?: string;
4489
+ /**
4490
+ * @description The X.509 certificates used to verify signed SAML responses from the Identity Provider. Required when configuring the connection with manual IdP fields.
4491
+ * @example [
4492
+ * "-----BEGIN CERTIFICATE-----\nMIIC...\n-----END CERTIFICATE-----"
4493
+ * ]
4494
+ */
4495
+ idp_signing_certs?: string[];
4496
+ /** @description The customer-owned key pair used to sign SAML requests sent to the Identity Provider. When omitted, WorkOS generates and manages the signing key pair. */
4497
+ sp_signing_key_pair?: components["schemas"]["CreateConnectionKeyPairDto"];
4498
+ /** @description The customer-owned key pairs used to decrypt encrypted SAML responses from the Identity Provider. When omitted, WorkOS generates and manages the encryption key pair. */
4499
+ sp_encryption_key_pairs?: components["schemas"]["CreateConnectionKeyPairDto"][];
4500
+ };
4501
+ CreateConnectionOidcOptionsDto: {
4502
+ /**
4503
+ * Format: uri
4504
+ * @description The OIDC discovery endpoint.
4505
+ * @example https://idp.example.com/.well-known/openid-configuration
4506
+ */
4507
+ discovery_endpoint: string;
4508
+ /**
4509
+ * @description The OIDC client ID.
4510
+ * @example client_123
4511
+ */
4512
+ client_id: string;
4513
+ /**
4514
+ * @description The OIDC client secret. Required for `client_secret_basic` and `client_secret_post`, and rejected for `private_key_jwt`, which authenticates with a key pair instead. This value is write-only and is never returned.
4515
+ * @example secret_xyz
4516
+ */
4517
+ client_secret?: string;
4518
+ /**
4519
+ * Format: uri
4520
+ * @description A custom OAuth callback URL override. When omitted, the standard WorkOS-generated redirect URI is used.
4521
+ * @example https://auth.workos.com/sso/oidc/conn_externalkey/callback
4522
+ */
4523
+ redirect_uri?: string;
4524
+ /**
4525
+ * @description Whether PKCE is enabled for the connection.
4526
+ * @default true
4527
+ * @example true
4528
+ */
4529
+ pkce: boolean;
4530
+ /**
4531
+ * @description The token-endpoint client authentication method.
4532
+ * @default client_secret_basic
4533
+ * @example client_secret_basic
4534
+ * @enum {string}
4535
+ */
4536
+ token_authentication_method: "client_secret_post" | "client_secret_basic" | "private_key_jwt";
4537
+ /** @description A key pair for WorkOS to sign `private_key_jwt` client assertions with. Only accepted when `token_authentication_method` is `private_key_jwt`; when omitted, WorkOS generates one and returns its certificate in `oidc_options.jwt_signing_certs`. */
4538
+ jwt_signing_key_pair?: components["schemas"]["CreateConnectionKeyPairDto"];
4539
+ /**
4540
+ * @description The ID-token signing algorithm.
4541
+ * @example RS256
4542
+ * @enum {string}
4543
+ */
4544
+ id_token_signature_algorithm?: "ES256" | "ES384" | "ES512" | "EdDSA" | "HS256" | "HS384" | "HS512" | "PS256" | "PS384" | "PS512" | "RS256" | "RS384" | "RS512";
4545
+ /**
4546
+ * @description Whether to fetch additional profile attributes from the userinfo endpoint.
4547
+ * @example false
4548
+ */
4549
+ fetch_user_info?: boolean;
4550
+ };
4551
+ CreateConnectionStandardAttributesDto: {
4552
+ /**
4553
+ * @description The IdP attribute or claim the profile's `idp_id` is mapped from. When omitted, the default for the connection type is used.
4554
+ * @example sub
4555
+ */
4556
+ idp_id?: string;
4557
+ /**
4558
+ * @description The IdP attribute or claim the profile's `email` is mapped from. When omitted, the default for the connection type is used.
4559
+ * @example email
4560
+ */
4561
+ email?: string;
4562
+ /**
4563
+ * @description The IdP attribute or claim the profile's `first_name` is mapped from. When omitted, the default for the connection type is used.
4564
+ * @example given_name
4565
+ */
4566
+ first_name?: string;
4567
+ /**
4568
+ * @description The IdP attribute or claim the profile's `last_name` is mapped from. When omitted, the default for the connection type is used.
4569
+ * @example family_name
4570
+ */
4571
+ last_name?: string;
4572
+ /**
4573
+ * @description The IdP attribute or claim the profile's `groups` are mapped from. `null` leaves the mapping unset.
4574
+ * @example memberOf
4575
+ */
4576
+ groups?: string | null;
4577
+ /**
4578
+ * @description The IdP attribute or claim the profile's `name` is mapped from. `null` leaves the mapping unset.
4579
+ * @example displayName
4580
+ */
4581
+ name?: string | null;
4582
+ };
4583
+ CreateConnectionAttributeMapsDto: {
4584
+ /** @description How IdP attributes or claims map onto the standard WorkOS profile fields. Provided fields override the defaults for the connection type. */
4585
+ standard_attributes?: components["schemas"]["CreateConnectionStandardAttributesDto"];
4586
+ /**
4587
+ * @description How IdP attributes or claims map onto custom attributes, keyed by custom attribute name. Custom attributes must already be defined in the WorkOS dashboard.
4588
+ * @example {
4589
+ * "company": "company_claim"
4590
+ * }
4591
+ */
4592
+ custom_attributes?: {
4593
+ [key: string]: string;
4594
+ };
4595
+ };
4596
+ CreateConnectionDto: {
4597
+ /**
4598
+ * @description Unique identifier for the Organization in which the Connection resides.
4599
+ * @example org_01EHWNCE74X7JSDV0X3SZ3KJNY
4600
+ */
4601
+ organization_id: string;
4602
+ /**
4603
+ * @description A human-readable name for the Connection. This will most commonly be the organization's name.
4604
+ * @example Foo Corp
4605
+ */
4606
+ name?: string;
4607
+ /**
4608
+ * @description The customer-owned identifier for the Connection.
4609
+ * @example acme-legacy-conn-42
4610
+ */
4611
+ external_id?: string;
4612
+ /**
4613
+ * @description The type of the Connection. Only SAML and OIDC connection types may be created. When omitted, the type is inferred from the provided options.
4614
+ * @example OktaSAML
4615
+ */
4616
+ connection_type?: string;
4617
+ /** @description How IdP attributes or claims map onto WorkOS profile fields. Provided fields override the defaults for the connection type. */
4618
+ attribute_maps?: components["schemas"]["CreateConnectionAttributeMapsDto"];
4619
+ } & ({
4620
+ /** @description Protocol configuration for SAML connections. Mutually exclusive with `oidc_options`. */
4621
+ saml_options: components["schemas"]["CreateConnectionSamlOptionsDto"];
4622
+ } | {
4623
+ /** @description Protocol configuration for OIDC connections. Mutually exclusive with `saml_options`. */
4624
+ oidc_options: components["schemas"]["CreateConnectionOidcOptionsDto"];
4625
+ });
4626
+ PatchConnectionSamlOptionsDto: {
4627
+ /**
4628
+ * Format: uri
4629
+ * @description The Identity Provider metadata URL. When provided, the IdP fields and signing certificates are re-imported from the metadata document, replacing the current set. Mutually exclusive with the manual IdP fields. Set to `null` to stop tracking a metadata URL.
4630
+ * @example https://idp.example.com/metadata.xml
4631
+ */
4632
+ idp_metadata_url?: string | null;
4633
+ /**
4634
+ * Format: uri
4635
+ * @description A custom Assertion Consumer Service (ACS) URL override. Set to `null` to revert to the standard WorkOS-generated ACS URL.
4636
+ * @example https://example.auth0.com/login/callback?connection=123
4637
+ */
4638
+ acs_url?: string | null;
4639
+ /**
4640
+ * @description A custom Service Provider Entity ID (audience) override. Set to `null` to revert to the connection external key.
4641
+ * @example https://example.auth0.com/login/callback?connection=123
4642
+ */
4643
+ sp_entity_id?: string | null;
4644
+ /**
4645
+ * @description The Identity Provider Entity ID.
4646
+ * @example https://idp.example.com/entity
4647
+ */
4648
+ idp_entity_id?: string;
4649
+ /**
4650
+ * Format: uri
4651
+ * @description The Identity Provider SSO URL.
4652
+ * @example https://idp.example.com/sso
4653
+ */
4654
+ idp_sso_url?: string;
4655
+ };
4656
+ PatchConnectionOidcOptionsDto: {
4657
+ /**
4658
+ * Format: uri
4659
+ * @description The OIDC discovery endpoint.
4660
+ * @example https://idp.example.com/.well-known/openid-configuration
4661
+ */
4662
+ discovery_endpoint?: string;
4663
+ /**
4664
+ * @description The OIDC client ID.
4665
+ * @example client_123
4666
+ */
4667
+ client_id?: string;
4668
+ /**
4669
+ * @description The OIDC client secret. Required when moving the connection to `client_secret_basic` or `client_secret_post`, and rejected for `private_key_jwt`, which authenticates with a key pair instead. This value is write-only and is never returned.
4670
+ * @example secret_xyz
4671
+ */
4672
+ client_secret?: string;
4673
+ /**
4674
+ * Format: uri
4675
+ * @description A custom OAuth callback URL override. Set to `null` to revert to the standard WorkOS-generated redirect URI.
4676
+ * @example https://auth.workos.com/sso/oidc/conn_externalkey/callback
4677
+ */
4678
+ redirect_uri?: string | null;
4679
+ /**
4680
+ * @description Whether PKCE is enabled for the connection.
4681
+ * @example true
4682
+ */
4683
+ pkce?: boolean;
4684
+ /**
4685
+ * @description The token-endpoint client authentication method. Moving to `private_key_jwt` generates a signing key pair if the connection has none; its certificate is returned in `oidc_options.jwt_signing_certs` and must be registered at the Identity Provider.
4686
+ * @example client_secret_basic
4687
+ * @enum {string}
4688
+ */
4689
+ token_authentication_method?: "client_secret_post" | "client_secret_basic" | "private_key_jwt";
4690
+ /**
4691
+ * @description The ID-token signing algorithm.
4692
+ * @example RS256
4693
+ * @enum {string}
4694
+ */
4695
+ id_token_signature_algorithm?: "ES256" | "ES384" | "ES512" | "EdDSA" | "HS256" | "HS384" | "HS512" | "PS256" | "PS384" | "PS512" | "RS256" | "RS384" | "RS512";
4696
+ /**
4697
+ * @description Whether to fetch additional profile attributes from the userinfo endpoint.
4698
+ * @example false
4699
+ */
4700
+ fetch_user_info?: boolean;
4701
+ };
4702
+ PatchConnectionStandardAttributesDto: {
4703
+ /**
4704
+ * @description The IdP attribute or claim the profile's `idp_id` is mapped from.
4705
+ * @example sub
4706
+ */
4707
+ idp_id?: string;
4708
+ /**
4709
+ * @description The IdP attribute or claim the profile's `email` is mapped from.
4710
+ * @example email
4711
+ */
4712
+ email?: string;
4713
+ /**
4714
+ * @description The IdP attribute or claim the profile's `first_name` is mapped from.
4715
+ * @example given_name
4716
+ */
4717
+ first_name?: string;
4718
+ /**
4719
+ * @description The IdP attribute or claim the profile's `last_name` is mapped from.
4720
+ * @example family_name
4721
+ */
4722
+ last_name?: string;
4723
+ /**
4724
+ * @description The IdP attribute or claim the profile's `groups` are mapped from. Set to `null` to unset the mapping.
4725
+ * @example memberOf
4726
+ */
4727
+ groups?: string | null;
4728
+ /**
4729
+ * @description The IdP attribute or claim the profile's `name` is mapped from. Set to `null` to unset the mapping.
4730
+ * @example displayName
4731
+ */
4732
+ name?: string | null;
4733
+ };
4734
+ PatchConnectionAttributeMapsDto: {
4735
+ /** @description How IdP attributes or claims map onto the standard WorkOS profile fields. Only the provided fields are updated. */
4736
+ standard_attributes?: components["schemas"]["PatchConnectionStandardAttributesDto"];
4737
+ /**
4738
+ * @description How IdP attributes or claims map onto custom attributes, keyed by custom attribute name. Custom attributes must already be defined in the WorkOS dashboard. Only the provided keys are updated; a `null` value unsets that mapping.
4739
+ * @example {
4740
+ * "company": "company_claim"
4741
+ * }
4742
+ */
4743
+ custom_attributes?: {
4744
+ [key: string]: string | null;
4745
+ };
4746
+ };
4747
+ PatchConnectionDto: {
4748
+ /**
4749
+ * @description A human-readable name for the Connection.
4750
+ * @example Foo Corp
4751
+ */
4752
+ name?: string;
4753
+ /**
4754
+ * @description The customer-owned identifier for the Connection. Set to `null` to stop tracking one.
4755
+ * @example acme-legacy-conn-42
4756
+ */
4757
+ external_id?: string | null;
4758
+ /**
4759
+ * @description The type of the Connection. Immutable after creation — it may be sent, but only with the Connection current type.
4760
+ * @example OktaSAML
4761
+ */
4762
+ connection_type?: string;
4763
+ /** @description How IdP attributes or claims map onto WorkOS profile fields. Only the provided fields are updated. */
4764
+ attribute_maps?: components["schemas"]["PatchConnectionAttributeMapsDto"];
4765
+ } & (Record<string, never> | {
4766
+ /** @description Protocol configuration for SAML connections. Only the provided fields are updated. Mutually exclusive with `oidc_options`. */
4767
+ saml_options: components["schemas"]["PatchConnectionSamlOptionsDto"];
4768
+ } | {
4769
+ /** @description Protocol configuration for OIDC connections. Only the provided fields are updated. Mutually exclusive with `saml_options`. */
4770
+ oidc_options: components["schemas"]["PatchConnectionOidcOptionsDto"];
4771
+ });
4300
4772
  CreateCorsOriginDto: {
4301
4773
  /**
4302
4774
  * @description The origin URL to allow for CORS requests.
@@ -4824,6 +5296,13 @@ export interface components {
4824
5296
  */
4825
5297
  uri: string;
4826
5298
  };
5299
+ CreateSamlIdpSigningCertificateDto: {
5300
+ /**
5301
+ * @description The PEM-encoded X.509 certificate.
5302
+ * @example -----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----
5303
+ */
5304
+ value: string;
5305
+ };
4827
5306
  CreateTeamDto: {
4828
5307
  /**
4829
5308
  * Format: email
@@ -5210,7 +5689,7 @@ export interface components {
5210
5689
  */
5211
5690
  email: string;
5212
5691
  /**
5213
- * @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.
5692
+ * @description Object containing additional key/value pairs collected with the waitlist entry. Supports up to 50 string pairs, with keys up to 40 characters and values up to 600 characters. Values are user-provided — treat them as untrusted input when rendering or exporting.
5214
5693
  * @example {
5215
5694
  * "company": "Example Corp"
5216
5695
  * }
@@ -5238,7 +5717,7 @@ export interface components {
5238
5717
  * "dsync.user.created"
5239
5718
  * ]
5240
5719
  */
5241
- events: ("agent.blueprint.created" | "agent.blueprint.deleted" | "agent.blueprint.updated" | "agent.registration.created" | "agent.registration.claim.attempt.created" | "agent.registration.claim.completed" | "agent.registration.credential.issued" | "agent.registration.deleted" | "agent.registration.refreshed" | "agent.registration.expired" | "agent.registration.organization.switched" | "agent.registration.revoked" | "authentication.email_verification_succeeded" | "authentication.magic_auth_failed" | "authentication.magic_auth_succeeded" | "authentication.mfa_succeeded" | "authentication.oauth_failed" | "authentication.oauth_succeeded" | "authentication.password_failed" | "authentication.password_succeeded" | "authentication.passkey_failed" | "authentication.passkey_succeeded" | "authentication.sso_failed" | "authentication.sso_started" | "authentication.sso_succeeded" | "authentication.sso_timed_out" | "radar.challenge_created" | "authentication.radar_risk_detected" | "authentication.reauthentication_succeeded" | "api_key.created" | "api_key.revoked" | "api_key.updated" | "connection.activated" | "connection.deactivated" | "connection.saml_certificate_renewal_required" | "connection.saml_certificate_renewed" | "connection.deleted" | "dsync.activated" | "dsync.deleted" | "dsync.group.created" | "dsync.group.deleted" | "dsync.group.updated" | "dsync.group.user_added" | "dsync.group.user_removed" | "dsync.user.created" | "dsync.user.deleted" | "dsync.user.updated" | "email_verification.created" | "group.created" | "group.deleted" | "group.member_added" | "group.member_removed" | "group.updated" | "flag.created" | "flag.deleted" | "flag.updated" | "flag.rule_updated" | "invitation.accepted" | "invitation.created" | "invitation.resent" | "invitation.revoked" | "magic_auth.created" | "organization.created" | "organization.deleted" | "organization.updated" | "organization_domain.created" | "organization_domain.deleted" | "organization_domain.updated" | "organization_domain.verified" | "organization_domain.verification_failed" | "password_reset.created" | "password_reset.succeeded" | "user.created" | "user.updated" | "user.deleted" | "organization_membership.created" | "organization_membership.deleted" | "organization_membership.updated" | "role.created" | "role.deleted" | "role.updated" | "organization_role.created" | "organization_role.deleted" | "organization_role.updated" | "permission.created" | "permission.deleted" | "permission.updated" | "pipes.connected_account.connected" | "pipes.connected_account.connection_failed" | "pipes.connected_account.disconnected" | "pipes.connected_account.reauthorization_needed" | "session.created" | "session.revoked" | "waitlist_user.approved" | "waitlist_user.created" | "waitlist_user.denied")[];
5720
+ events: ("agent.blueprint.created" | "agent.blueprint.deleted" | "agent.blueprint.updated" | "agent.instance.created" | "agent.instance.deleted" | "agent.instance.session.created" | "agent.instance.session.revoked" | "agent.registration.created" | "agent.registration.claim.attempt.created" | "agent.registration.claim.completed" | "agent.registration.credential.issued" | "agent.registration.deleted" | "agent.registration.refreshed" | "agent.registration.expired" | "agent.registration.organization.switched" | "agent.registration.revoked" | "authentication.email_verification_succeeded" | "authentication.magic_auth_failed" | "authentication.magic_auth_succeeded" | "authentication.mfa_succeeded" | "authentication.oauth_failed" | "authentication.oauth_succeeded" | "authentication.password_failed" | "authentication.password_succeeded" | "authentication.passkey_failed" | "authentication.passkey_succeeded" | "authentication.sso_failed" | "authentication.sso_started" | "authentication.sso_succeeded" | "authentication.sso_timed_out" | "radar.challenge_created" | "authentication.radar_risk_detected" | "authentication.reauthentication_succeeded" | "api_key.created" | "api_key.revoked" | "api_key.updated" | "connection.activated" | "connection.deactivated" | "connection.saml_certificate_renewal_required" | "connection.saml_certificate_renewed" | "connection.deleted" | "dsync.activated" | "dsync.deleted" | "dsync.group.created" | "dsync.group.deleted" | "dsync.group.updated" | "dsync.group.user_added" | "dsync.group.user_removed" | "dsync.user.created" | "dsync.user.deleted" | "dsync.user.updated" | "email_verification.created" | "group.created" | "group.deleted" | "group.member_added" | "group.member_removed" | "group.updated" | "flag.created" | "flag.deleted" | "flag.updated" | "flag.rule_updated" | "invitation.accepted" | "invitation.created" | "invitation.resent" | "invitation.revoked" | "magic_auth.created" | "organization.created" | "organization.deleted" | "organization.updated" | "organization_domain.created" | "organization_domain.deleted" | "organization_domain.updated" | "organization_domain.verified" | "organization_domain.verification_failed" | "password_reset.created" | "password_reset.succeeded" | "user.created" | "user.updated" | "user.deleted" | "organization_membership.created" | "organization_membership.deleted" | "organization_membership.updated" | "role.created" | "role.deleted" | "role.updated" | "organization_role.created" | "organization_role.deleted" | "organization_role.updated" | "permission.created" | "permission.deleted" | "permission.updated" | "pipes.connected_account.connected" | "pipes.connected_account.connection_failed" | "pipes.connected_account.disconnected" | "pipes.connected_account.reauthorization_needed" | "session.created" | "session.revoked" | "waitlist_user.approved" | "waitlist_user.created" | "waitlist_user.denied")[];
5242
5721
  };
5243
5722
  UpdateWebhookEndpointDto: {
5244
5723
  /**
@@ -5259,7 +5738,7 @@ export interface components {
5259
5738
  * "dsync.user.created"
5260
5739
  * ]
5261
5740
  */
5262
- events?: ("agent.blueprint.created" | "agent.blueprint.deleted" | "agent.blueprint.updated" | "agent.registration.created" | "agent.registration.claim.attempt.created" | "agent.registration.claim.completed" | "agent.registration.credential.issued" | "agent.registration.deleted" | "agent.registration.refreshed" | "agent.registration.expired" | "agent.registration.organization.switched" | "agent.registration.revoked" | "authentication.email_verification_succeeded" | "authentication.magic_auth_failed" | "authentication.magic_auth_succeeded" | "authentication.mfa_succeeded" | "authentication.oauth_failed" | "authentication.oauth_succeeded" | "authentication.password_failed" | "authentication.password_succeeded" | "authentication.passkey_failed" | "authentication.passkey_succeeded" | "authentication.sso_failed" | "authentication.sso_started" | "authentication.sso_succeeded" | "authentication.sso_timed_out" | "radar.challenge_created" | "authentication.radar_risk_detected" | "authentication.reauthentication_succeeded" | "api_key.created" | "api_key.revoked" | "api_key.updated" | "connection.activated" | "connection.deactivated" | "connection.saml_certificate_renewal_required" | "connection.saml_certificate_renewed" | "connection.deleted" | "dsync.activated" | "dsync.deleted" | "dsync.group.created" | "dsync.group.deleted" | "dsync.group.updated" | "dsync.group.user_added" | "dsync.group.user_removed" | "dsync.user.created" | "dsync.user.deleted" | "dsync.user.updated" | "email_verification.created" | "group.created" | "group.deleted" | "group.member_added" | "group.member_removed" | "group.updated" | "flag.created" | "flag.deleted" | "flag.updated" | "flag.rule_updated" | "invitation.accepted" | "invitation.created" | "invitation.resent" | "invitation.revoked" | "magic_auth.created" | "organization.created" | "organization.deleted" | "organization.updated" | "organization_domain.created" | "organization_domain.deleted" | "organization_domain.updated" | "organization_domain.verified" | "organization_domain.verification_failed" | "password_reset.created" | "password_reset.succeeded" | "user.created" | "user.updated" | "user.deleted" | "organization_membership.created" | "organization_membership.deleted" | "organization_membership.updated" | "role.created" | "role.deleted" | "role.updated" | "organization_role.created" | "organization_role.deleted" | "organization_role.updated" | "permission.created" | "permission.deleted" | "permission.updated" | "pipes.connected_account.connected" | "pipes.connected_account.connection_failed" | "pipes.connected_account.disconnected" | "pipes.connected_account.reauthorization_needed" | "session.created" | "session.revoked" | "waitlist_user.approved" | "waitlist_user.created" | "waitlist_user.denied")[];
5741
+ events?: ("agent.blueprint.created" | "agent.blueprint.deleted" | "agent.blueprint.updated" | "agent.instance.created" | "agent.instance.deleted" | "agent.instance.session.created" | "agent.instance.session.revoked" | "agent.registration.created" | "agent.registration.claim.attempt.created" | "agent.registration.claim.completed" | "agent.registration.credential.issued" | "agent.registration.deleted" | "agent.registration.refreshed" | "agent.registration.expired" | "agent.registration.organization.switched" | "agent.registration.revoked" | "authentication.email_verification_succeeded" | "authentication.magic_auth_failed" | "authentication.magic_auth_succeeded" | "authentication.mfa_succeeded" | "authentication.oauth_failed" | "authentication.oauth_succeeded" | "authentication.password_failed" | "authentication.password_succeeded" | "authentication.passkey_failed" | "authentication.passkey_succeeded" | "authentication.sso_failed" | "authentication.sso_started" | "authentication.sso_succeeded" | "authentication.sso_timed_out" | "radar.challenge_created" | "authentication.radar_risk_detected" | "authentication.reauthentication_succeeded" | "api_key.created" | "api_key.revoked" | "api_key.updated" | "connection.activated" | "connection.deactivated" | "connection.saml_certificate_renewal_required" | "connection.saml_certificate_renewed" | "connection.deleted" | "dsync.activated" | "dsync.deleted" | "dsync.group.created" | "dsync.group.deleted" | "dsync.group.updated" | "dsync.group.user_added" | "dsync.group.user_removed" | "dsync.user.created" | "dsync.user.deleted" | "dsync.user.updated" | "email_verification.created" | "group.created" | "group.deleted" | "group.member_added" | "group.member_removed" | "group.updated" | "flag.created" | "flag.deleted" | "flag.updated" | "flag.rule_updated" | "invitation.accepted" | "invitation.created" | "invitation.resent" | "invitation.revoked" | "magic_auth.created" | "organization.created" | "organization.deleted" | "organization.updated" | "organization_domain.created" | "organization_domain.deleted" | "organization_domain.updated" | "organization_domain.verified" | "organization_domain.verification_failed" | "password_reset.created" | "password_reset.succeeded" | "user.created" | "user.updated" | "user.deleted" | "organization_membership.created" | "organization_membership.deleted" | "organization_membership.updated" | "role.created" | "role.deleted" | "role.updated" | "organization_role.created" | "organization_role.deleted" | "organization_role.updated" | "permission.created" | "permission.deleted" | "permission.updated" | "pipes.connected_account.connected" | "pipes.connected_account.connection_failed" | "pipes.connected_account.disconnected" | "pipes.connected_account.reauthorization_needed" | "session.created" | "session.revoked" | "waitlist_user.approved" | "waitlist_user.created" | "waitlist_user.denied")[];
5263
5742
  };
5264
5743
  WidgetSessionTokenDto: {
5265
5744
  /**
@@ -8434,6 +8913,265 @@ export interface components {
8434
8913
  * @constant
8435
8914
  */
8436
8915
  object: "event";
8916
+ } | {
8917
+ /**
8918
+ * @description Unique identifier for the event.
8919
+ * @example event_01EHZNVPK3SFK441A1RGBFSHRT
8920
+ */
8921
+ id: string;
8922
+ /** @constant */
8923
+ event: "agent.instance.created";
8924
+ /** @description The event payload. */
8925
+ data: {
8926
+ /**
8927
+ * @description Distinguishes the agent instance object.
8928
+ * @constant
8929
+ */
8930
+ object: "agent_instance";
8931
+ /**
8932
+ * @description Unique identifier of the agent instance.
8933
+ * @example agent_01EHWNCE74X7JSDV0X3SZ3KJNY
8934
+ */
8935
+ id: string;
8936
+ /**
8937
+ * @description The agent blueprint this instance was minted from.
8938
+ * @example agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
8939
+ */
8940
+ agent_blueprint_id: string;
8941
+ /**
8942
+ * @description The organization the instance acts within.
8943
+ * @example org_01EHWNCE74X7JSDV0X3SZ3KJNY
8944
+ */
8945
+ organization_id: string;
8946
+ /**
8947
+ * @description The organization membership the instance acts on behalf of; `null` for an autonomous instance.
8948
+ * @example om_01EHWNCE74X7JSDV0X3SZ3KJNY
8949
+ */
8950
+ organization_membership_id: string | null;
8951
+ /**
8952
+ * @description Whether the instance acts on behalf of a user (`delegated`) or as itself within an organization (`autonomous`).
8953
+ * @enum {string}
8954
+ */
8955
+ type: "delegated" | "autonomous";
8956
+ /**
8957
+ * @description The timestamp when the agent instance was created.
8958
+ * @example 2026-01-15T12:00:00.000Z
8959
+ */
8960
+ created_at: string;
8961
+ /**
8962
+ * @description The timestamp when the agent instance was last updated.
8963
+ * @example 2026-01-15T12:00:00.000Z
8964
+ */
8965
+ updated_at: string;
8966
+ };
8967
+ /**
8968
+ * Format: date-time
8969
+ * @description An ISO 8601 timestamp.
8970
+ * @example 2026-01-15T12:00:00.000Z
8971
+ */
8972
+ created_at: string;
8973
+ context?: components["schemas"]["EventContextDto"];
8974
+ /**
8975
+ * @description Distinguishes the Event object.
8976
+ * @constant
8977
+ */
8978
+ object: "event";
8979
+ } | {
8980
+ /**
8981
+ * @description Unique identifier for the event.
8982
+ * @example event_01EHZNVPK3SFK441A1RGBFSHRT
8983
+ */
8984
+ id: string;
8985
+ /** @constant */
8986
+ event: "agent.instance.deleted";
8987
+ /** @description The event payload. */
8988
+ data: {
8989
+ /**
8990
+ * @description Distinguishes the agent instance object.
8991
+ * @constant
8992
+ */
8993
+ object: "agent_instance";
8994
+ /**
8995
+ * @description Unique identifier of the agent instance.
8996
+ * @example agent_01EHWNCE74X7JSDV0X3SZ3KJNY
8997
+ */
8998
+ id: string;
8999
+ /**
9000
+ * @description The agent blueprint this instance was minted from.
9001
+ * @example agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
9002
+ */
9003
+ agent_blueprint_id: string;
9004
+ /**
9005
+ * @description The organization the instance acts within.
9006
+ * @example org_01EHWNCE74X7JSDV0X3SZ3KJNY
9007
+ */
9008
+ organization_id: string;
9009
+ /**
9010
+ * @description The organization membership the instance acts on behalf of; `null` for an autonomous instance.
9011
+ * @example om_01EHWNCE74X7JSDV0X3SZ3KJNY
9012
+ */
9013
+ organization_membership_id: string | null;
9014
+ /**
9015
+ * @description Whether the instance acts on behalf of a user (`delegated`) or as itself within an organization (`autonomous`).
9016
+ * @enum {string}
9017
+ */
9018
+ type: "delegated" | "autonomous";
9019
+ /**
9020
+ * @description The timestamp when the agent instance was created.
9021
+ * @example 2026-01-15T12:00:00.000Z
9022
+ */
9023
+ created_at: string;
9024
+ /**
9025
+ * @description The timestamp when the agent instance was last updated.
9026
+ * @example 2026-01-15T12:00:00.000Z
9027
+ */
9028
+ updated_at: string;
9029
+ };
9030
+ /**
9031
+ * Format: date-time
9032
+ * @description An ISO 8601 timestamp.
9033
+ * @example 2026-01-15T12:00:00.000Z
9034
+ */
9035
+ created_at: string;
9036
+ context?: components["schemas"]["EventContextDto"];
9037
+ /**
9038
+ * @description Distinguishes the Event object.
9039
+ * @constant
9040
+ */
9041
+ object: "event";
9042
+ } | {
9043
+ /**
9044
+ * @description Unique identifier for the event.
9045
+ * @example event_01EHZNVPK3SFK441A1RGBFSHRT
9046
+ */
9047
+ id: string;
9048
+ /** @constant */
9049
+ event: "agent.instance.session.created";
9050
+ /** @description The event payload. */
9051
+ data: {
9052
+ /**
9053
+ * @description Distinguishes the agent instance session object.
9054
+ * @constant
9055
+ */
9056
+ object: "agent_instance_session";
9057
+ /**
9058
+ * @description Unique identifier of the agent instance session.
9059
+ * @example agent_session_01EHWNCE74X7JSDV0X3SZ3KJNY
9060
+ */
9061
+ id: string;
9062
+ /**
9063
+ * @description The agent instance the session belongs to.
9064
+ * @example agent_01EHWNCE74X7JSDV0X3SZ3KJNY
9065
+ */
9066
+ agent_instance_id: string;
9067
+ /**
9068
+ * @description The organization the owning agent instance belongs to.
9069
+ * @example org_01EHWNCE74X7JSDV0X3SZ3KJNY
9070
+ */
9071
+ organization_id: string;
9072
+ /**
9073
+ * @description Timestamp when the session expires.
9074
+ * @example 2026-01-15T13:00:00.000Z
9075
+ */
9076
+ expires_at: string;
9077
+ /**
9078
+ * @description Timestamp when the session was revoked; `null` if it has not been revoked.
9079
+ * @example null
9080
+ */
9081
+ revoked_at: string | null;
9082
+ /**
9083
+ * @description The timestamp when the session was created.
9084
+ * @example 2026-01-15T12:00:00.000Z
9085
+ */
9086
+ created_at: string;
9087
+ /**
9088
+ * @description The timestamp when the session was last updated.
9089
+ * @example 2026-01-15T12:00:00.000Z
9090
+ */
9091
+ updated_at: string;
9092
+ /**
9093
+ * @description The permissions granted to the session at mint time.
9094
+ * @example [
9095
+ * "crm:read"
9096
+ * ]
9097
+ */
9098
+ permission_slugs: string[];
9099
+ };
9100
+ /**
9101
+ * Format: date-time
9102
+ * @description An ISO 8601 timestamp.
9103
+ * @example 2026-01-15T12:00:00.000Z
9104
+ */
9105
+ created_at: string;
9106
+ context?: components["schemas"]["EventContextDto"];
9107
+ /**
9108
+ * @description Distinguishes the Event object.
9109
+ * @constant
9110
+ */
9111
+ object: "event";
9112
+ } | {
9113
+ /**
9114
+ * @description Unique identifier for the event.
9115
+ * @example event_01EHZNVPK3SFK441A1RGBFSHRT
9116
+ */
9117
+ id: string;
9118
+ /** @constant */
9119
+ event: "agent.instance.session.revoked";
9120
+ /** @description The event payload. */
9121
+ data: {
9122
+ /**
9123
+ * @description Distinguishes the agent instance session object.
9124
+ * @constant
9125
+ */
9126
+ object: "agent_instance_session";
9127
+ /**
9128
+ * @description Unique identifier of the agent instance session.
9129
+ * @example agent_session_01EHWNCE74X7JSDV0X3SZ3KJNY
9130
+ */
9131
+ id: string;
9132
+ /**
9133
+ * @description The agent instance the session belongs to.
9134
+ * @example agent_01EHWNCE74X7JSDV0X3SZ3KJNY
9135
+ */
9136
+ agent_instance_id: string;
9137
+ /**
9138
+ * @description The organization the owning agent instance belongs to.
9139
+ * @example org_01EHWNCE74X7JSDV0X3SZ3KJNY
9140
+ */
9141
+ organization_id: string;
9142
+ /**
9143
+ * @description Timestamp when the session expires.
9144
+ * @example 2026-01-15T13:00:00.000Z
9145
+ */
9146
+ expires_at: string;
9147
+ /**
9148
+ * @description Timestamp when the session was revoked; `null` if it has not been revoked.
9149
+ * @example null
9150
+ */
9151
+ revoked_at: string | null;
9152
+ /**
9153
+ * @description The timestamp when the session was created.
9154
+ * @example 2026-01-15T12:00:00.000Z
9155
+ */
9156
+ created_at: string;
9157
+ /**
9158
+ * @description The timestamp when the session was last updated.
9159
+ * @example 2026-01-15T12:00:00.000Z
9160
+ */
9161
+ updated_at: string;
9162
+ };
9163
+ /**
9164
+ * Format: date-time
9165
+ * @description An ISO 8601 timestamp.
9166
+ * @example 2026-01-15T12:00:00.000Z
9167
+ */
9168
+ created_at: string;
9169
+ context?: components["schemas"]["EventContextDto"];
9170
+ /**
9171
+ * @description Distinguishes the Event object.
9172
+ * @constant
9173
+ */
9174
+ object: "event";
8437
9175
  } | {
8438
9176
  /**
8439
9177
  * @description Unique identifier for the event.
@@ -16928,6 +17666,129 @@ export interface components {
16928
17666
  */
16929
17667
  updated_at: string;
16930
17668
  };
17669
+ SamlIdpSigningCertificate: {
17670
+ /**
17671
+ * @description Distinguishes the SAML Identity Provider signing certificate object.
17672
+ * @constant
17673
+ */
17674
+ object: "saml_idp_signing_certificate";
17675
+ /**
17676
+ * @description Unique identifier for the Identity Provider signing certificate.
17677
+ * @example saml_x509_cert_01E4ZCR3C56J083X43JQXF3JK5
17678
+ */
17679
+ id: string;
17680
+ /**
17681
+ * @description The PEM-encoded public X.509 certificate.
17682
+ * @example -----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----
17683
+ */
17684
+ value: string;
17685
+ /**
17686
+ * Format: date-time
17687
+ * @description When the certificate becomes valid.
17688
+ * @example 2026-01-15T12:00:00.000Z
17689
+ */
17690
+ not_before: string | null;
17691
+ /**
17692
+ * Format: date-time
17693
+ * @description When the certificate expires.
17694
+ * @example 2026-01-15T12:00:00.000Z
17695
+ */
17696
+ not_after: string | null;
17697
+ /**
17698
+ * Format: date-time
17699
+ * @description An ISO 8601 timestamp.
17700
+ * @example 2026-01-15T12:00:00.000Z
17701
+ */
17702
+ created_at: string;
17703
+ };
17704
+ SamlIdpSigningCertificateList: {
17705
+ /**
17706
+ * @example list
17707
+ * @constant
17708
+ */
17709
+ object: "list";
17710
+ /** @description Every Identity Provider signing certificate on the Connection, including expired ones, oldest first. */
17711
+ data: components["schemas"]["SamlIdpSigningCertificate"][];
17712
+ };
17713
+ SamlSpEncryptionCertificate: {
17714
+ /**
17715
+ * @description Distinguishes the SAML Service Provider encryption certificate object.
17716
+ * @constant
17717
+ */
17718
+ object: "saml_sp_encryption_certificate";
17719
+ /**
17720
+ * @description Unique identifier for the Service Provider encryption key pair. WorkOS holds the corresponding private key, which is never exposed.
17721
+ * @example saml_enc_key_pair_01E4ZCR3C56J083X43JQXF3JK5
17722
+ */
17723
+ id: string;
17724
+ /**
17725
+ * @description The PEM-encoded public X.509 certificate.
17726
+ * @example -----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----
17727
+ */
17728
+ value: string;
17729
+ /**
17730
+ * Format: date-time
17731
+ * @description When the certificate becomes valid.
17732
+ * @example 2026-01-15T12:00:00.000Z
17733
+ */
17734
+ not_before: string | null;
17735
+ /**
17736
+ * Format: date-time
17737
+ * @description When the certificate expires.
17738
+ * @example 2026-01-15T12:00:00.000Z
17739
+ */
17740
+ not_after: string | null;
17741
+ /**
17742
+ * Format: date-time
17743
+ * @description An ISO 8601 timestamp.
17744
+ * @example 2026-01-15T12:00:00.000Z
17745
+ */
17746
+ created_at: string;
17747
+ };
17748
+ SamlSpEncryptionCertificateList: {
17749
+ /**
17750
+ * @example list
17751
+ * @constant
17752
+ */
17753
+ object: "list";
17754
+ /** @description Every Service Provider encryption certificate on the Connection, including expired ones. */
17755
+ data: components["schemas"]["SamlSpEncryptionCertificate"][];
17756
+ };
17757
+ SamlSpSigningCertificate: {
17758
+ /**
17759
+ * @description Distinguishes the SAML Service Provider signing certificate object.
17760
+ * @constant
17761
+ */
17762
+ object: "saml_sp_signing_certificate";
17763
+ /**
17764
+ * @description Unique identifier for the Service Provider signing key pair. WorkOS holds the corresponding private key, which is never exposed.
17765
+ * @example saml_party_trust_01E4ZCR3C56J083X43JQXF3JK5
17766
+ */
17767
+ id: string;
17768
+ /**
17769
+ * @description The PEM-encoded public X.509 certificate.
17770
+ * @example -----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----
17771
+ */
17772
+ value: string;
17773
+ /**
17774
+ * Format: date-time
17775
+ * @description When the certificate becomes valid.
17776
+ * @example 2026-01-15T12:00:00.000Z
17777
+ */
17778
+ not_before: string | null;
17779
+ /**
17780
+ * Format: date-time
17781
+ * @description When the certificate expires.
17782
+ * @example 2026-01-15T12:00:00.000Z
17783
+ */
17784
+ not_after: string | null;
17785
+ /**
17786
+ * Format: date-time
17787
+ * @description An ISO 8601 timestamp.
17788
+ * @example 2026-01-15T12:00:00.000Z
17789
+ */
17790
+ created_at: string;
17791
+ };
16931
17792
  Team: {
16932
17793
  /**
16933
17794
  * @description Distinguishes the team object.
@@ -24353,6 +25214,1103 @@ export interface operations {
24353
25214
  };
24354
25215
  };
24355
25216
  };
25217
+ ConnectionsController_create: {
25218
+ parameters: {
25219
+ query?: never;
25220
+ header?: never;
25221
+ path?: never;
25222
+ cookie?: never;
25223
+ };
25224
+ requestBody: {
25225
+ content: {
25226
+ "application/json": components["schemas"]["CreateConnectionDto"];
25227
+ };
25228
+ };
25229
+ responses: {
25230
+ /** @description Created */
25231
+ 201: {
25232
+ headers: {
25233
+ [name: string]: unknown;
25234
+ };
25235
+ content: {
25236
+ "application/json": components["schemas"]["Connection"];
25237
+ };
25238
+ };
25239
+ /** @description Bad Request */
25240
+ 400: {
25241
+ headers: {
25242
+ [name: string]: unknown;
25243
+ };
25244
+ content: {
25245
+ "application/json": {
25246
+ /**
25247
+ * @description The error code identifying the type of error.
25248
+ * @example external_id_already_in_use
25249
+ * @constant
25250
+ */
25251
+ code: "external_id_already_in_use";
25252
+ /**
25253
+ * @description A human-readable description of the error.
25254
+ * @example Request could not be processed.
25255
+ */
25256
+ message: string;
25257
+ } | {
25258
+ /**
25259
+ * @description The error code identifying the type of error.
25260
+ * @example connection_type_not_supported
25261
+ * @constant
25262
+ */
25263
+ code: "connection_type_not_supported";
25264
+ /**
25265
+ * @description A human-readable description of the error.
25266
+ * @example Request could not be processed.
25267
+ */
25268
+ message: string;
25269
+ } | {
25270
+ /**
25271
+ * @description The error code identifying the type of error.
25272
+ * @example connection_type_or_options_required
25273
+ * @constant
25274
+ */
25275
+ code: "connection_type_or_options_required";
25276
+ /**
25277
+ * @description A human-readable description of the error.
25278
+ * @example Request could not be processed.
25279
+ */
25280
+ message: string;
25281
+ } | {
25282
+ /**
25283
+ * @description The error code identifying the type of error.
25284
+ * @example connection_type_conflicts_with_options
25285
+ * @constant
25286
+ */
25287
+ code: "connection_type_conflicts_with_options";
25288
+ /**
25289
+ * @description A human-readable description of the error.
25290
+ * @example Request could not be processed.
25291
+ */
25292
+ message: string;
25293
+ } | {
25294
+ /**
25295
+ * @description The error code identifying the type of error.
25296
+ * @example both_saml_and_oidc_options_provided
25297
+ * @constant
25298
+ */
25299
+ code: "both_saml_and_oidc_options_provided";
25300
+ /**
25301
+ * @description A human-readable description of the error.
25302
+ * @example Request could not be processed.
25303
+ */
25304
+ message: string;
25305
+ } | {
25306
+ /**
25307
+ * @description The error code identifying the type of error.
25308
+ * @example ambiguous_saml_options
25309
+ * @constant
25310
+ */
25311
+ code: "ambiguous_saml_options";
25312
+ /**
25313
+ * @description A human-readable description of the error.
25314
+ * @example Request could not be processed.
25315
+ */
25316
+ message: string;
25317
+ } | {
25318
+ /**
25319
+ * @description The error code identifying the type of error.
25320
+ * @example incomplete_saml_options
25321
+ * @constant
25322
+ */
25323
+ code: "incomplete_saml_options";
25324
+ /**
25325
+ * @description A human-readable description of the error.
25326
+ * @example Request could not be processed.
25327
+ */
25328
+ message: string;
25329
+ } | {
25330
+ /**
25331
+ * @description The error code identifying the type of error.
25332
+ * @example saml_options_required
25333
+ * @constant
25334
+ */
25335
+ code: "saml_options_required";
25336
+ /**
25337
+ * @description A human-readable description of the error.
25338
+ * @example Request could not be processed.
25339
+ */
25340
+ message: string;
25341
+ } | {
25342
+ /**
25343
+ * @description The error code identifying the type of error.
25344
+ * @example oidc_options_required
25345
+ * @constant
25346
+ */
25347
+ code: "oidc_options_required";
25348
+ /**
25349
+ * @description A human-readable description of the error.
25350
+ * @example Request could not be processed.
25351
+ */
25352
+ message: string;
25353
+ } | {
25354
+ /**
25355
+ * @description The error code identifying the type of error.
25356
+ * @example invalid_certificate
25357
+ * @constant
25358
+ */
25359
+ code: "invalid_certificate";
25360
+ /**
25361
+ * @description A human-readable description of the error.
25362
+ * @example Request could not be processed.
25363
+ */
25364
+ message: string;
25365
+ } | {
25366
+ /**
25367
+ * @description The error code identifying the type of error.
25368
+ * @example client_secret_required
25369
+ * @constant
25370
+ */
25371
+ code: "client_secret_required";
25372
+ /**
25373
+ * @description A human-readable description of the error.
25374
+ * @example Request could not be processed.
25375
+ */
25376
+ message: string;
25377
+ } | {
25378
+ /**
25379
+ * @description The error code identifying the type of error.
25380
+ * @example client_secret_not_accepted
25381
+ * @constant
25382
+ */
25383
+ code: "client_secret_not_accepted";
25384
+ /**
25385
+ * @description A human-readable description of the error.
25386
+ * @example Request could not be processed.
25387
+ */
25388
+ message: string;
25389
+ } | {
25390
+ /**
25391
+ * @description The error code identifying the type of error.
25392
+ * @example key_pair_not_accepted
25393
+ * @constant
25394
+ */
25395
+ code: "key_pair_not_accepted";
25396
+ /**
25397
+ * @description A human-readable description of the error.
25398
+ * @example Request could not be processed.
25399
+ */
25400
+ message: string;
25401
+ } | {
25402
+ /**
25403
+ * @description The error code identifying the type of error.
25404
+ * @example discovery_endpoint_must_use_https
25405
+ * @constant
25406
+ */
25407
+ code: "discovery_endpoint_must_use_https";
25408
+ /**
25409
+ * @description A human-readable description of the error.
25410
+ * @example Request could not be processed.
25411
+ */
25412
+ message: string;
25413
+ } | {
25414
+ /**
25415
+ * @description The error code identifying the type of error.
25416
+ * @example token_authentication_method_not_supported
25417
+ * @constant
25418
+ */
25419
+ code: "token_authentication_method_not_supported";
25420
+ /**
25421
+ * @description A human-readable description of the error.
25422
+ * @example Request could not be processed.
25423
+ */
25424
+ message: string;
25425
+ };
25426
+ };
25427
+ };
25428
+ /** @description Forbidden */
25429
+ 403: {
25430
+ headers: {
25431
+ [name: string]: unknown;
25432
+ };
25433
+ content: {
25434
+ "application/json": {
25435
+ /**
25436
+ * @description A human-readable description of the error.
25437
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25438
+ */
25439
+ message: string;
25440
+ };
25441
+ };
25442
+ };
25443
+ /** @description Not Found */
25444
+ 404: {
25445
+ headers: {
25446
+ [name: string]: unknown;
25447
+ };
25448
+ content: {
25449
+ "application/json": {
25450
+ /**
25451
+ * @description A human-readable description of the error.
25452
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25453
+ */
25454
+ message: string;
25455
+ };
25456
+ };
25457
+ };
25458
+ 409: {
25459
+ headers: {
25460
+ [name: string]: unknown;
25461
+ };
25462
+ content: {
25463
+ "application/json": {
25464
+ /**
25465
+ * @description The error code identifying the type of error.
25466
+ * @example connection_deletion_in_progress
25467
+ * @constant
25468
+ */
25469
+ code: "connection_deletion_in_progress";
25470
+ /**
25471
+ * @description A human-readable description of the error.
25472
+ * @example Request could not be processed.
25473
+ */
25474
+ message: string;
25475
+ };
25476
+ };
25477
+ };
25478
+ /** @description Unprocessable Entity */
25479
+ 422: {
25480
+ headers: {
25481
+ [name: string]: unknown;
25482
+ };
25483
+ content: {
25484
+ "application/json": {
25485
+ /**
25486
+ * @description A human-readable description of the error.
25487
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25488
+ */
25489
+ message: string;
25490
+ } | {
25491
+ /**
25492
+ * @description The error code identifying the type of error.
25493
+ * @example idp_metadata_fetch_failed
25494
+ * @constant
25495
+ */
25496
+ code: "idp_metadata_fetch_failed";
25497
+ /**
25498
+ * @description A human-readable description of the error.
25499
+ * @example Request could not be processed.
25500
+ */
25501
+ message: string;
25502
+ } | {
25503
+ /**
25504
+ * @description The error code identifying the type of error.
25505
+ * @example connection_could_not_be_verified
25506
+ * @constant
25507
+ */
25508
+ code: "connection_could_not_be_verified";
25509
+ /**
25510
+ * @description A human-readable description of the error.
25511
+ * @example Request could not be processed.
25512
+ */
25513
+ message: string;
25514
+ } | {
25515
+ /**
25516
+ * @description The error code identifying the type of error.
25517
+ * @example invalid_idp_sso_url
25518
+ * @constant
25519
+ */
25520
+ code: "invalid_idp_sso_url";
25521
+ /**
25522
+ * @description A human-readable description of the error.
25523
+ * @example Request could not be processed.
25524
+ */
25525
+ message: string;
25526
+ };
25527
+ };
25528
+ };
25529
+ };
25530
+ };
25531
+ SamlIdpSigningCertificatesController_list: {
25532
+ parameters: {
25533
+ query?: never;
25534
+ header?: never;
25535
+ path: {
25536
+ /** @description Unique identifier for the Connection. */
25537
+ connectionId: string;
25538
+ };
25539
+ cookie?: never;
25540
+ };
25541
+ requestBody?: never;
25542
+ responses: {
25543
+ /** @description OK */
25544
+ 200: {
25545
+ headers: {
25546
+ [name: string]: unknown;
25547
+ };
25548
+ content: {
25549
+ "application/json": components["schemas"]["SamlIdpSigningCertificateList"];
25550
+ };
25551
+ };
25552
+ /** @description Bad Request */
25553
+ 400: {
25554
+ headers: {
25555
+ [name: string]: unknown;
25556
+ };
25557
+ content: {
25558
+ "application/json": {
25559
+ /**
25560
+ * @description The error code identifying the type of error.
25561
+ * @example connection_is_not_saml
25562
+ * @constant
25563
+ */
25564
+ code: "connection_is_not_saml";
25565
+ /**
25566
+ * @description A human-readable description of the error.
25567
+ * @example Request could not be processed.
25568
+ */
25569
+ message: string;
25570
+ };
25571
+ };
25572
+ };
25573
+ /** @description Forbidden */
25574
+ 403: {
25575
+ headers: {
25576
+ [name: string]: unknown;
25577
+ };
25578
+ content: {
25579
+ "application/json": {
25580
+ /**
25581
+ * @description A human-readable description of the error.
25582
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25583
+ */
25584
+ message: string;
25585
+ };
25586
+ };
25587
+ };
25588
+ /** @description Not Found */
25589
+ 404: {
25590
+ headers: {
25591
+ [name: string]: unknown;
25592
+ };
25593
+ content: {
25594
+ "application/json": {
25595
+ /**
25596
+ * @description A human-readable description of the error.
25597
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25598
+ */
25599
+ message: string;
25600
+ };
25601
+ };
25602
+ };
25603
+ };
25604
+ };
25605
+ SamlIdpSigningCertificatesController_create: {
25606
+ parameters: {
25607
+ query?: never;
25608
+ header?: never;
25609
+ path: {
25610
+ /** @description Unique identifier for the Connection. */
25611
+ connectionId: string;
25612
+ };
25613
+ cookie?: never;
25614
+ };
25615
+ requestBody: {
25616
+ content: {
25617
+ "application/json": components["schemas"]["CreateSamlIdpSigningCertificateDto"];
25618
+ };
25619
+ };
25620
+ responses: {
25621
+ /** @description Created */
25622
+ 201: {
25623
+ headers: {
25624
+ [name: string]: unknown;
25625
+ };
25626
+ content: {
25627
+ "application/json": components["schemas"]["SamlIdpSigningCertificate"];
25628
+ };
25629
+ };
25630
+ /** @description Bad Request */
25631
+ 400: {
25632
+ headers: {
25633
+ [name: string]: unknown;
25634
+ };
25635
+ content: {
25636
+ "application/json": {
25637
+ /**
25638
+ * @description The error code identifying the type of error.
25639
+ * @example connection_is_not_saml
25640
+ * @constant
25641
+ */
25642
+ code: "connection_is_not_saml";
25643
+ /**
25644
+ * @description A human-readable description of the error.
25645
+ * @example Request could not be processed.
25646
+ */
25647
+ message: string;
25648
+ } | {
25649
+ /**
25650
+ * @description The error code identifying the type of error.
25651
+ * @example invalid_certificate
25652
+ * @constant
25653
+ */
25654
+ code: "invalid_certificate";
25655
+ /**
25656
+ * @description A human-readable description of the error.
25657
+ * @example Request could not be processed.
25658
+ */
25659
+ message: string;
25660
+ } | {
25661
+ /**
25662
+ * @description The error code identifying the type of error.
25663
+ * @example certificate_expired
25664
+ * @constant
25665
+ */
25666
+ code: "certificate_expired";
25667
+ /**
25668
+ * @description A human-readable description of the error.
25669
+ * @example Request could not be processed.
25670
+ */
25671
+ message: string;
25672
+ };
25673
+ };
25674
+ };
25675
+ /** @description Forbidden */
25676
+ 403: {
25677
+ headers: {
25678
+ [name: string]: unknown;
25679
+ };
25680
+ content: {
25681
+ "application/json": {
25682
+ /**
25683
+ * @description A human-readable description of the error.
25684
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25685
+ */
25686
+ message: string;
25687
+ };
25688
+ };
25689
+ };
25690
+ /** @description Not Found */
25691
+ 404: {
25692
+ headers: {
25693
+ [name: string]: unknown;
25694
+ };
25695
+ content: {
25696
+ "application/json": {
25697
+ /**
25698
+ * @description A human-readable description of the error.
25699
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25700
+ */
25701
+ message: string;
25702
+ };
25703
+ };
25704
+ };
25705
+ /** @description Unprocessable Entity */
25706
+ 422: {
25707
+ headers: {
25708
+ [name: string]: unknown;
25709
+ };
25710
+ content: {
25711
+ "application/json": {
25712
+ /**
25713
+ * @description A human-readable description of the error.
25714
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25715
+ */
25716
+ message: string;
25717
+ };
25718
+ };
25719
+ };
25720
+ };
25721
+ };
25722
+ SamlIdpSigningCertificatesController_delete: {
25723
+ parameters: {
25724
+ query?: never;
25725
+ header?: never;
25726
+ path: {
25727
+ /** @description Unique identifier for the Connection. */
25728
+ connectionId: string;
25729
+ /** @description Unique identifier for the Identity Provider signing certificate. */
25730
+ certificateId: string;
25731
+ };
25732
+ cookie?: never;
25733
+ };
25734
+ requestBody?: never;
25735
+ responses: {
25736
+ /** @description No Content */
25737
+ 204: {
25738
+ headers: {
25739
+ [name: string]: unknown;
25740
+ };
25741
+ content?: never;
25742
+ };
25743
+ /** @description Bad Request */
25744
+ 400: {
25745
+ headers: {
25746
+ [name: string]: unknown;
25747
+ };
25748
+ content: {
25749
+ "application/json": {
25750
+ /**
25751
+ * @description The error code identifying the type of error.
25752
+ * @example cannot_delete_last_certificate
25753
+ * @constant
25754
+ */
25755
+ code: "cannot_delete_last_certificate";
25756
+ /**
25757
+ * @description A human-readable description of the error.
25758
+ * @example Request could not be processed.
25759
+ */
25760
+ message: string;
25761
+ };
25762
+ };
25763
+ };
25764
+ /** @description Forbidden */
25765
+ 403: {
25766
+ headers: {
25767
+ [name: string]: unknown;
25768
+ };
25769
+ content: {
25770
+ "application/json": {
25771
+ /**
25772
+ * @description A human-readable description of the error.
25773
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25774
+ */
25775
+ message: string;
25776
+ };
25777
+ };
25778
+ };
25779
+ /** @description Not Found */
25780
+ 404: {
25781
+ headers: {
25782
+ [name: string]: unknown;
25783
+ };
25784
+ content: {
25785
+ "application/json": {
25786
+ /**
25787
+ * @description A human-readable description of the error.
25788
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25789
+ */
25790
+ message: string;
25791
+ };
25792
+ };
25793
+ };
25794
+ };
25795
+ };
25796
+ SamlSpEncryptionCertificatesController_list: {
25797
+ parameters: {
25798
+ query?: never;
25799
+ header?: never;
25800
+ path: {
25801
+ /** @description Unique identifier for the Connection. */
25802
+ connectionId: string;
25803
+ };
25804
+ cookie?: never;
25805
+ };
25806
+ requestBody?: never;
25807
+ responses: {
25808
+ /** @description OK */
25809
+ 200: {
25810
+ headers: {
25811
+ [name: string]: unknown;
25812
+ };
25813
+ content: {
25814
+ "application/json": components["schemas"]["SamlSpEncryptionCertificateList"];
25815
+ };
25816
+ };
25817
+ /** @description Bad Request */
25818
+ 400: {
25819
+ headers: {
25820
+ [name: string]: unknown;
25821
+ };
25822
+ content: {
25823
+ "application/json": {
25824
+ /**
25825
+ * @description The error code identifying the type of error.
25826
+ * @example connection_is_not_saml
25827
+ * @constant
25828
+ */
25829
+ code: "connection_is_not_saml";
25830
+ /**
25831
+ * @description A human-readable description of the error.
25832
+ * @example Request could not be processed.
25833
+ */
25834
+ message: string;
25835
+ };
25836
+ };
25837
+ };
25838
+ /** @description Forbidden */
25839
+ 403: {
25840
+ headers: {
25841
+ [name: string]: unknown;
25842
+ };
25843
+ content: {
25844
+ "application/json": {
25845
+ /**
25846
+ * @description A human-readable description of the error.
25847
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25848
+ */
25849
+ message: string;
25850
+ };
25851
+ };
25852
+ };
25853
+ /** @description Not Found */
25854
+ 404: {
25855
+ headers: {
25856
+ [name: string]: unknown;
25857
+ };
25858
+ content: {
25859
+ "application/json": {
25860
+ /**
25861
+ * @description A human-readable description of the error.
25862
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25863
+ */
25864
+ message: string;
25865
+ };
25866
+ };
25867
+ };
25868
+ };
25869
+ };
25870
+ SamlSpEncryptionCertificatesController_create: {
25871
+ parameters: {
25872
+ query?: never;
25873
+ header?: never;
25874
+ path: {
25875
+ /** @description Unique identifier for the Connection. */
25876
+ connectionId: string;
25877
+ };
25878
+ cookie?: never;
25879
+ };
25880
+ requestBody?: never;
25881
+ responses: {
25882
+ /** @description Created */
25883
+ 201: {
25884
+ headers: {
25885
+ [name: string]: unknown;
25886
+ };
25887
+ content: {
25888
+ "application/json": components["schemas"]["SamlSpEncryptionCertificate"];
25889
+ };
25890
+ };
25891
+ /** @description Bad Request */
25892
+ 400: {
25893
+ headers: {
25894
+ [name: string]: unknown;
25895
+ };
25896
+ content: {
25897
+ "application/json": {
25898
+ /**
25899
+ * @description The error code identifying the type of error.
25900
+ * @example connection_is_not_saml
25901
+ * @constant
25902
+ */
25903
+ code: "connection_is_not_saml";
25904
+ /**
25905
+ * @description A human-readable description of the error.
25906
+ * @example Request could not be processed.
25907
+ */
25908
+ message: string;
25909
+ } | {
25910
+ /**
25911
+ * @description The error code identifying the type of error.
25912
+ * @example key_pair_not_accepted
25913
+ * @constant
25914
+ */
25915
+ code: "key_pair_not_accepted";
25916
+ /**
25917
+ * @description A human-readable description of the error.
25918
+ * @example Request could not be processed.
25919
+ */
25920
+ message: string;
25921
+ };
25922
+ };
25923
+ };
25924
+ /** @description Forbidden */
25925
+ 403: {
25926
+ headers: {
25927
+ [name: string]: unknown;
25928
+ };
25929
+ content: {
25930
+ "application/json": {
25931
+ /**
25932
+ * @description A human-readable description of the error.
25933
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25934
+ */
25935
+ message: string;
25936
+ };
25937
+ };
25938
+ };
25939
+ /** @description Not Found */
25940
+ 404: {
25941
+ headers: {
25942
+ [name: string]: unknown;
25943
+ };
25944
+ content: {
25945
+ "application/json": {
25946
+ /**
25947
+ * @description A human-readable description of the error.
25948
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
25949
+ */
25950
+ message: string;
25951
+ };
25952
+ };
25953
+ };
25954
+ 409: {
25955
+ headers: {
25956
+ [name: string]: unknown;
25957
+ };
25958
+ content: {
25959
+ "application/json": {
25960
+ /**
25961
+ * @description The error code identifying the type of error.
25962
+ * @example too_many_sp_encryption_certs
25963
+ * @constant
25964
+ */
25965
+ code: "too_many_sp_encryption_certs";
25966
+ /**
25967
+ * @description A human-readable description of the error.
25968
+ * @example Request could not be processed.
25969
+ */
25970
+ message: string;
25971
+ };
25972
+ };
25973
+ };
25974
+ 503: {
25975
+ headers: {
25976
+ [name: string]: unknown;
25977
+ };
25978
+ content: {
25979
+ "application/json": {
25980
+ /**
25981
+ * @description The error code identifying the type of error.
25982
+ * @example concurrent_request
25983
+ * @constant
25984
+ */
25985
+ code: "concurrent_request";
25986
+ /**
25987
+ * @description A human-readable description of the error.
25988
+ * @example Request could not be processed.
25989
+ */
25990
+ message: string;
25991
+ };
25992
+ };
25993
+ };
25994
+ };
25995
+ };
25996
+ SamlSpEncryptionCertificatesController_delete: {
25997
+ parameters: {
25998
+ query?: never;
25999
+ header?: never;
26000
+ path: {
26001
+ /** @description Unique identifier for the Connection. */
26002
+ connectionId: string;
26003
+ /** @description Unique identifier for the Service Provider encryption key pair. WorkOS holds the corresponding private key, which is never exposed. */
26004
+ certificateId: string;
26005
+ };
26006
+ cookie?: never;
26007
+ };
26008
+ requestBody?: never;
26009
+ responses: {
26010
+ /** @description No Content */
26011
+ 204: {
26012
+ headers: {
26013
+ [name: string]: unknown;
26014
+ };
26015
+ content?: never;
26016
+ };
26017
+ /** @description Forbidden */
26018
+ 403: {
26019
+ headers: {
26020
+ [name: string]: unknown;
26021
+ };
26022
+ content: {
26023
+ "application/json": {
26024
+ /**
26025
+ * @description A human-readable description of the error.
26026
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26027
+ */
26028
+ message: string;
26029
+ };
26030
+ };
26031
+ };
26032
+ /** @description Not Found */
26033
+ 404: {
26034
+ headers: {
26035
+ [name: string]: unknown;
26036
+ };
26037
+ content: {
26038
+ "application/json": {
26039
+ /**
26040
+ * @description A human-readable description of the error.
26041
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26042
+ */
26043
+ message: string;
26044
+ };
26045
+ };
26046
+ };
26047
+ };
26048
+ };
26049
+ SamlSpSigningCertificatesController_get: {
26050
+ parameters: {
26051
+ query?: never;
26052
+ header?: never;
26053
+ path: {
26054
+ /** @description Unique identifier for the Connection. */
26055
+ connectionId: string;
26056
+ };
26057
+ cookie?: never;
26058
+ };
26059
+ requestBody?: never;
26060
+ responses: {
26061
+ /** @description OK */
26062
+ 200: {
26063
+ headers: {
26064
+ [name: string]: unknown;
26065
+ };
26066
+ content: {
26067
+ "application/json": components["schemas"]["SamlSpSigningCertificate"];
26068
+ };
26069
+ };
26070
+ /** @description Bad Request */
26071
+ 400: {
26072
+ headers: {
26073
+ [name: string]: unknown;
26074
+ };
26075
+ content: {
26076
+ "application/json": {
26077
+ /**
26078
+ * @description The error code identifying the type of error.
26079
+ * @example connection_is_not_saml
26080
+ * @constant
26081
+ */
26082
+ code: "connection_is_not_saml";
26083
+ /**
26084
+ * @description A human-readable description of the error.
26085
+ * @example Request could not be processed.
26086
+ */
26087
+ message: string;
26088
+ };
26089
+ };
26090
+ };
26091
+ /** @description Forbidden */
26092
+ 403: {
26093
+ headers: {
26094
+ [name: string]: unknown;
26095
+ };
26096
+ content: {
26097
+ "application/json": {
26098
+ /**
26099
+ * @description A human-readable description of the error.
26100
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26101
+ */
26102
+ message: string;
26103
+ };
26104
+ };
26105
+ };
26106
+ /** @description Not Found */
26107
+ 404: {
26108
+ headers: {
26109
+ [name: string]: unknown;
26110
+ };
26111
+ content: {
26112
+ "application/json": {
26113
+ /**
26114
+ * @description A human-readable description of the error.
26115
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26116
+ */
26117
+ message: string;
26118
+ };
26119
+ };
26120
+ };
26121
+ };
26122
+ };
26123
+ SamlSpSigningCertificatesController_create: {
26124
+ parameters: {
26125
+ query?: never;
26126
+ header?: never;
26127
+ path: {
26128
+ /** @description Unique identifier for the Connection. */
26129
+ connectionId: string;
26130
+ };
26131
+ cookie?: never;
26132
+ };
26133
+ requestBody?: never;
26134
+ responses: {
26135
+ /** @description Created */
26136
+ 201: {
26137
+ headers: {
26138
+ [name: string]: unknown;
26139
+ };
26140
+ content: {
26141
+ "application/json": components["schemas"]["SamlSpSigningCertificate"];
26142
+ };
26143
+ };
26144
+ /** @description Bad Request */
26145
+ 400: {
26146
+ headers: {
26147
+ [name: string]: unknown;
26148
+ };
26149
+ content: {
26150
+ "application/json": {
26151
+ /**
26152
+ * @description The error code identifying the type of error.
26153
+ * @example connection_is_not_saml
26154
+ * @constant
26155
+ */
26156
+ code: "connection_is_not_saml";
26157
+ /**
26158
+ * @description A human-readable description of the error.
26159
+ * @example Request could not be processed.
26160
+ */
26161
+ message: string;
26162
+ } | {
26163
+ /**
26164
+ * @description The error code identifying the type of error.
26165
+ * @example key_pair_not_accepted
26166
+ * @constant
26167
+ */
26168
+ code: "key_pair_not_accepted";
26169
+ /**
26170
+ * @description A human-readable description of the error.
26171
+ * @example Request could not be processed.
26172
+ */
26173
+ message: string;
26174
+ } | {
26175
+ /**
26176
+ * @description The error code identifying the type of error.
26177
+ * @example connection_type_not_supported
26178
+ * @constant
26179
+ */
26180
+ code: "connection_type_not_supported";
26181
+ /**
26182
+ * @description A human-readable description of the error.
26183
+ * @example Request could not be processed.
26184
+ */
26185
+ message: string;
26186
+ };
26187
+ };
26188
+ };
26189
+ /** @description Forbidden */
26190
+ 403: {
26191
+ headers: {
26192
+ [name: string]: unknown;
26193
+ };
26194
+ content: {
26195
+ "application/json": {
26196
+ /**
26197
+ * @description A human-readable description of the error.
26198
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26199
+ */
26200
+ message: string;
26201
+ };
26202
+ };
26203
+ };
26204
+ /** @description Not Found */
26205
+ 404: {
26206
+ headers: {
26207
+ [name: string]: unknown;
26208
+ };
26209
+ content: {
26210
+ "application/json": {
26211
+ /**
26212
+ * @description A human-readable description of the error.
26213
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26214
+ */
26215
+ message: string;
26216
+ };
26217
+ };
26218
+ };
26219
+ 409: {
26220
+ headers: {
26221
+ [name: string]: unknown;
26222
+ };
26223
+ content: {
26224
+ "application/json": {
26225
+ /**
26226
+ * @description The error code identifying the type of error.
26227
+ * @example sp_signing_cert_already_exists
26228
+ * @constant
26229
+ */
26230
+ code: "sp_signing_cert_already_exists";
26231
+ /**
26232
+ * @description A human-readable description of the error.
26233
+ * @example Request could not be processed.
26234
+ */
26235
+ message: string;
26236
+ };
26237
+ };
26238
+ };
26239
+ 503: {
26240
+ headers: {
26241
+ [name: string]: unknown;
26242
+ };
26243
+ content: {
26244
+ "application/json": {
26245
+ /**
26246
+ * @description The error code identifying the type of error.
26247
+ * @example concurrent_request
26248
+ * @constant
26249
+ */
26250
+ code: "concurrent_request";
26251
+ /**
26252
+ * @description A human-readable description of the error.
26253
+ * @example Request could not be processed.
26254
+ */
26255
+ message: string;
26256
+ };
26257
+ };
26258
+ };
26259
+ };
26260
+ };
26261
+ SamlSpSigningCertificatesController_delete: {
26262
+ parameters: {
26263
+ query?: never;
26264
+ header?: never;
26265
+ path: {
26266
+ /** @description Unique identifier for the Connection. */
26267
+ connectionId: string;
26268
+ /** @description Unique identifier for the Service Provider signing key pair. WorkOS holds the corresponding private key, which is never exposed. */
26269
+ certificateId: string;
26270
+ };
26271
+ cookie?: never;
26272
+ };
26273
+ requestBody?: never;
26274
+ responses: {
26275
+ /** @description No Content */
26276
+ 204: {
26277
+ headers: {
26278
+ [name: string]: unknown;
26279
+ };
26280
+ content?: never;
26281
+ };
26282
+ /** @description Forbidden */
26283
+ 403: {
26284
+ headers: {
26285
+ [name: string]: unknown;
26286
+ };
26287
+ content: {
26288
+ "application/json": {
26289
+ /**
26290
+ * @description A human-readable description of the error.
26291
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26292
+ */
26293
+ message: string;
26294
+ };
26295
+ };
26296
+ };
26297
+ /** @description Not Found */
26298
+ 404: {
26299
+ headers: {
26300
+ [name: string]: unknown;
26301
+ };
26302
+ content: {
26303
+ "application/json": {
26304
+ /**
26305
+ * @description A human-readable description of the error.
26306
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26307
+ */
26308
+ message: string;
26309
+ };
26310
+ };
26311
+ };
26312
+ };
26313
+ };
24356
26314
  ConnectionsController_find: {
24357
26315
  parameters: {
24358
26316
  query?: never;
@@ -24464,6 +26422,263 @@ export interface operations {
24464
26422
  };
24465
26423
  };
24466
26424
  };
26425
+ ConnectionsController_patch: {
26426
+ parameters: {
26427
+ query?: never;
26428
+ header?: never;
26429
+ path: {
26430
+ /** @description Unique identifier for the Connection. */
26431
+ id: string;
26432
+ };
26433
+ cookie?: never;
26434
+ };
26435
+ requestBody: {
26436
+ content: {
26437
+ "application/json": components["schemas"]["PatchConnectionDto"];
26438
+ };
26439
+ };
26440
+ responses: {
26441
+ /** @description OK */
26442
+ 200: {
26443
+ headers: {
26444
+ [name: string]: unknown;
26445
+ };
26446
+ content: {
26447
+ "application/json": components["schemas"]["Connection"];
26448
+ };
26449
+ };
26450
+ /** @description Bad Request */
26451
+ 400: {
26452
+ headers: {
26453
+ [name: string]: unknown;
26454
+ };
26455
+ content: {
26456
+ "application/json": {
26457
+ /**
26458
+ * @description The error code identifying the type of error.
26459
+ * @example external_id_already_in_use
26460
+ * @constant
26461
+ */
26462
+ code: "external_id_already_in_use";
26463
+ /**
26464
+ * @description A human-readable description of the error.
26465
+ * @example Request could not be processed.
26466
+ */
26467
+ message: string;
26468
+ } | {
26469
+ /**
26470
+ * @description The error code identifying the type of error.
26471
+ * @example connection_type_not_supported
26472
+ * @constant
26473
+ */
26474
+ code: "connection_type_not_supported";
26475
+ /**
26476
+ * @description A human-readable description of the error.
26477
+ * @example Request could not be processed.
26478
+ */
26479
+ message: string;
26480
+ } | {
26481
+ /**
26482
+ * @description The error code identifying the type of error.
26483
+ * @example connection_type_conflicts_with_options
26484
+ * @constant
26485
+ */
26486
+ code: "connection_type_conflicts_with_options";
26487
+ /**
26488
+ * @description A human-readable description of the error.
26489
+ * @example Request could not be processed.
26490
+ */
26491
+ message: string;
26492
+ } | {
26493
+ /**
26494
+ * @description The error code identifying the type of error.
26495
+ * @example both_saml_and_oidc_options_provided
26496
+ * @constant
26497
+ */
26498
+ code: "both_saml_and_oidc_options_provided";
26499
+ /**
26500
+ * @description A human-readable description of the error.
26501
+ * @example Request could not be processed.
26502
+ */
26503
+ message: string;
26504
+ } | {
26505
+ /**
26506
+ * @description The error code identifying the type of error.
26507
+ * @example ambiguous_saml_options
26508
+ * @constant
26509
+ */
26510
+ code: "ambiguous_saml_options";
26511
+ /**
26512
+ * @description A human-readable description of the error.
26513
+ * @example Request could not be processed.
26514
+ */
26515
+ message: string;
26516
+ } | {
26517
+ /**
26518
+ * @description The error code identifying the type of error.
26519
+ * @example token_authentication_method_not_supported
26520
+ * @constant
26521
+ */
26522
+ code: "token_authentication_method_not_supported";
26523
+ /**
26524
+ * @description A human-readable description of the error.
26525
+ * @example Request could not be processed.
26526
+ */
26527
+ message: string;
26528
+ } | {
26529
+ /**
26530
+ * @description The error code identifying the type of error.
26531
+ * @example id_token_signature_algorithm_not_supported
26532
+ * @constant
26533
+ */
26534
+ code: "id_token_signature_algorithm_not_supported";
26535
+ /**
26536
+ * @description A human-readable description of the error.
26537
+ * @example Request could not be processed.
26538
+ */
26539
+ message: string;
26540
+ } | {
26541
+ /**
26542
+ * @description The error code identifying the type of error.
26543
+ * @example client_secret_required
26544
+ * @constant
26545
+ */
26546
+ code: "client_secret_required";
26547
+ /**
26548
+ * @description A human-readable description of the error.
26549
+ * @example Request could not be processed.
26550
+ */
26551
+ message: string;
26552
+ } | {
26553
+ /**
26554
+ * @description The error code identifying the type of error.
26555
+ * @example client_secret_not_accepted
26556
+ * @constant
26557
+ */
26558
+ code: "client_secret_not_accepted";
26559
+ /**
26560
+ * @description A human-readable description of the error.
26561
+ * @example Request could not be processed.
26562
+ */
26563
+ message: string;
26564
+ } | {
26565
+ /**
26566
+ * @description The error code identifying the type of error.
26567
+ * @example discovery_endpoint_must_use_https
26568
+ * @constant
26569
+ */
26570
+ code: "discovery_endpoint_must_use_https";
26571
+ /**
26572
+ * @description A human-readable description of the error.
26573
+ * @example Request could not be processed.
26574
+ */
26575
+ message: string;
26576
+ };
26577
+ };
26578
+ };
26579
+ /** @description Forbidden */
26580
+ 403: {
26581
+ headers: {
26582
+ [name: string]: unknown;
26583
+ };
26584
+ content: {
26585
+ "application/json": {
26586
+ /**
26587
+ * @description A human-readable description of the error.
26588
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26589
+ */
26590
+ message: string;
26591
+ };
26592
+ };
26593
+ };
26594
+ /** @description Not Found */
26595
+ 404: {
26596
+ headers: {
26597
+ [name: string]: unknown;
26598
+ };
26599
+ content: {
26600
+ "application/json": {
26601
+ /**
26602
+ * @description A human-readable description of the error.
26603
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26604
+ */
26605
+ message: string;
26606
+ };
26607
+ };
26608
+ };
26609
+ 409: {
26610
+ headers: {
26611
+ [name: string]: unknown;
26612
+ };
26613
+ content: {
26614
+ "application/json": {
26615
+ /**
26616
+ * @description The error code identifying the type of error.
26617
+ * @example connection_deletion_in_progress
26618
+ * @constant
26619
+ */
26620
+ code: "connection_deletion_in_progress";
26621
+ /**
26622
+ * @description A human-readable description of the error.
26623
+ * @example Request could not be processed.
26624
+ */
26625
+ message: string;
26626
+ };
26627
+ };
26628
+ };
26629
+ /** @description Unprocessable Entity */
26630
+ 422: {
26631
+ headers: {
26632
+ [name: string]: unknown;
26633
+ };
26634
+ content: {
26635
+ "application/json": {
26636
+ /**
26637
+ * @description A human-readable description of the error.
26638
+ * @example Organization not found: 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
26639
+ */
26640
+ message: string;
26641
+ } | {
26642
+ /**
26643
+ * @description The error code identifying the type of error.
26644
+ * @example connection_type_not_updatable
26645
+ * @constant
26646
+ */
26647
+ code: "connection_type_not_updatable";
26648
+ /**
26649
+ * @description A human-readable description of the error.
26650
+ * @example Request could not be processed.
26651
+ */
26652
+ message: string;
26653
+ } | {
26654
+ /**
26655
+ * @description The error code identifying the type of error.
26656
+ * @example idp_metadata_fetch_failed
26657
+ * @constant
26658
+ */
26659
+ code: "idp_metadata_fetch_failed";
26660
+ /**
26661
+ * @description A human-readable description of the error.
26662
+ * @example Request could not be processed.
26663
+ */
26664
+ message: string;
26665
+ } | {
26666
+ /**
26667
+ * @description The error code identifying the type of error.
26668
+ * @example connection_could_not_be_verified
26669
+ * @constant
26670
+ */
26671
+ code: "connection_could_not_be_verified";
26672
+ /**
26673
+ * @description A human-readable description of the error.
26674
+ * @example Request could not be processed.
26675
+ */
26676
+ message: string;
26677
+ };
26678
+ };
26679
+ };
26680
+ };
26681
+ };
24467
26682
  DataIntegrationsManagementController_listDataIntegrations: {
24468
26683
  parameters: {
24469
26684
  query?: {
@@ -35410,7 +37625,7 @@ export interface operations {
35410
37625
  query?: never;
35411
37626
  header?: never;
35412
37627
  path: {
35413
- /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
37628
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. The default waitlist is created when its first entry is added, so read requests for `default` return a `404` until then. */
35414
37629
  id: string;
35415
37630
  };
35416
37631
  cookie?: never;
@@ -35461,7 +37676,7 @@ export interface operations {
35461
37676
  };
35462
37677
  header?: never;
35463
37678
  path: {
35464
- /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
37679
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. The default waitlist is created when its first entry is added, so read requests for `default` return a `404` until then. */
35465
37680
  id: string;
35466
37681
  };
35467
37682
  cookie?: never;
@@ -35542,7 +37757,7 @@ export interface operations {
35542
37757
  query?: never;
35543
37758
  header?: never;
35544
37759
  path: {
35545
- /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. */
37760
+ /** @description The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. Use `default` when adding the first entry — the default waitlist is created automatically. */
35546
37761
  id: string;
35547
37762
  };
35548
37763
  cookie?: never;