@workos/openapi-spec 0.68.0 → 0.70.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.
@@ -631,7 +631,7 @@ paths:
631
631
  - name: order
632
632
  required: false
633
633
  in: query
634
- description: Order the results by the creation time.
634
+ description: Order the results by the creation time. Defaults to `normal`.
635
635
  schema:
636
636
  $ref: '#/components/schemas/PaginationOrder'
637
637
  responses:
@@ -800,7 +800,7 @@ paths:
800
800
  - name: order
801
801
  required: false
802
802
  in: query
803
- description: Order the results by the creation time.
803
+ description: Order the results by the creation time. Defaults to `normal`.
804
804
  schema:
805
805
  $ref: '#/components/schemas/PaginationOrder'
806
806
  responses:
@@ -1661,7 +1661,7 @@ paths:
1661
1661
  Order the results by the creation time. Supported values are `"asc"`
1662
1662
  (ascending), `"desc"` (descending), and `"normal"` (descending with
1663
1663
  reversed cursor semantics where `before` fetches older records and
1664
- `after` fetches newer records).
1664
+ `after` fetches newer records). Defaults to `normal`.
1665
1665
  schema:
1666
1666
  $ref: '#/components/schemas/PaginationOrder'
1667
1667
  responses:
@@ -2165,7 +2165,7 @@ paths:
2165
2165
  Order the results by the creation time. Supported values are `"asc"`
2166
2166
  (ascending), `"desc"` (descending), and `"normal"` (descending with
2167
2167
  reversed cursor semantics where `before` fetches older records and
2168
- `after` fetches newer records).
2168
+ `after` fetches newer records). Defaults to `normal`.
2169
2169
  schema:
2170
2170
  $ref: '#/components/schemas/PaginationOrder'
2171
2171
  - name: permission_slug
@@ -2355,7 +2355,7 @@ paths:
2355
2355
  Order the results by the creation time. Supported values are `"asc"`
2356
2356
  (ascending), `"desc"` (descending), and `"normal"` (descending with
2357
2357
  reversed cursor semantics where `before` fetches older records and
2358
- `after` fetches newer records).
2358
+ `after` fetches newer records). Defaults to `normal`.
2359
2359
  schema:
2360
2360
  $ref: '#/components/schemas/PaginationOrder'
2361
2361
  responses:
@@ -2482,7 +2482,7 @@ paths:
2482
2482
  Order the results by the creation time. Supported values are `"asc"`
2483
2483
  (ascending), `"desc"` (descending), and `"normal"` (descending with
2484
2484
  reversed cursor semantics where `before` fetches older records and
2485
- `after` fetches newer records).
2485
+ `after` fetches newer records). Defaults to `normal`.
2486
2486
  schema:
2487
2487
  $ref: '#/components/schemas/PaginationOrder'
2488
2488
  responses:
@@ -2594,7 +2594,7 @@ paths:
2594
2594
  Order the results by the creation time. Supported values are `"asc"`
2595
2595
  (ascending), `"desc"` (descending), and `"normal"` (descending with
2596
2596
  reversed cursor semantics where `before` fetches older records and
2597
- `after` fetches newer records).
2597
+ `after` fetches newer records). Defaults to `normal`.
2598
2598
  schema:
2599
2599
  $ref: '#/components/schemas/PaginationOrder'
2600
2600
  - name: resource_id
@@ -4291,7 +4291,7 @@ paths:
4291
4291
  Order the results by the creation time. Supported values are `"asc"`
4292
4292
  (ascending), `"desc"` (descending), and `"normal"` (descending with
4293
4293
  reversed cursor semantics where `before` fetches older records and
4294
- `after` fetches newer records).
4294
+ `after` fetches newer records). Defaults to `normal`.
4295
4295
  schema:
4296
4296
  $ref: '#/components/schemas/PaginationOrder'
4297
4297
  - name: permission_slug
@@ -4457,7 +4457,7 @@ paths:
4457
4457
  Order the results by the creation time. Supported values are `"asc"`
4458
4458
  (ascending), `"desc"` (descending), and `"normal"` (descending with
4459
4459
  reversed cursor semantics where `before` fetches older records and
4460
- `after` fetches newer records).
4460
+ `after` fetches newer records). Defaults to `normal`.
4461
4461
  schema:
4462
4462
  $ref: '#/components/schemas/PaginationOrder'
4463
4463
  - name: role_slug
@@ -4551,7 +4551,7 @@ paths:
4551
4551
  Order the results by the creation time. Supported values are `"asc"`
4552
4552
  (ascending), `"desc"` (descending), and `"normal"` (descending with
4553
4553
  reversed cursor semantics where `before` fetches older records and
4554
- `after` fetches newer records).
4554
+ `after` fetches newer records). Defaults to `normal`.
4555
4555
  schema:
4556
4556
  $ref: '#/components/schemas/PaginationOrder'
4557
4557
  responses:
@@ -4925,7 +4925,7 @@ paths:
4925
4925
  Order the results by the creation time. Supported values are `"asc"`
4926
4926
  (ascending), `"desc"` (descending), and `"normal"` (descending with
4927
4927
  reversed cursor semantics where `before` fetches older records and
4928
- `after` fetches newer records).
4928
+ `after` fetches newer records). Defaults to `normal`.
4929
4929
  schema:
4930
4930
  $ref: '#/components/schemas/PaginationOrder'
4931
4931
  - name: organization_id
@@ -5630,7 +5630,7 @@ paths:
5630
5630
  Order the results by the creation time. Supported values are `"asc"`
5631
5631
  (ascending), `"desc"` (descending), and `"normal"` (descending with
5632
5632
  reversed cursor semantics where `before` fetches older records and
5633
- `after` fetches newer records).
5633
+ `after` fetches newer records). Defaults to `normal`.
5634
5634
  schema:
5635
5635
  $ref: '#/components/schemas/PaginationOrder'
5636
5636
  - name: permission_slug
@@ -5780,7 +5780,7 @@ paths:
5780
5780
  Order the results by the creation time. Supported values are `"asc"`
5781
5781
  (ascending), `"desc"` (descending), and `"normal"` (descending with
5782
5782
  reversed cursor semantics where `before` fetches older records and
5783
- `after` fetches newer records).
5783
+ `after` fetches newer records). Defaults to `normal`.
5784
5784
  schema:
5785
5785
  $ref: '#/components/schemas/PaginationOrder'
5786
5786
  - name: role_slug
@@ -6638,7 +6638,7 @@ paths:
6638
6638
  Order the results by the creation time. Supported values are `"asc"`
6639
6639
  (ascending), `"desc"` (descending), and `"normal"` (descending with
6640
6640
  reversed cursor semantics where `before` fetches older records and
6641
- `after` fetches newer records).
6641
+ `after` fetches newer records). Defaults to `normal`.
6642
6642
  schema:
6643
6643
  $ref: '#/components/schemas/PaginationOrder'
6644
6644
  - name: registration_types
@@ -7024,131 +7024,1471 @@ paths:
7024
7024
  tags:
7025
7025
  - application.client-secrets
7026
7026
  /connections:
7027
+ post:
7028
+ description: >-
7029
+ Creates a new connection for an organization. Provide `saml_options` or
7030
+ `oidc_options` to configure the identity provider. When `external_id`
7031
+ matches an existing connection in the organization, that connection is
7032
+ returned instead of creating a duplicate.
7033
+ operationId: ConnectionsController_create
7034
+ parameters: []
7035
+ requestBody:
7036
+ required: true
7037
+ content:
7038
+ application/json:
7039
+ schema:
7040
+ $ref: '#/components/schemas/CreateConnectionDto'
7041
+ responses:
7042
+ '201':
7043
+ description: Created
7044
+ content:
7045
+ application/json:
7046
+ schema:
7047
+ $ref: '#/components/schemas/Connection'
7048
+ '400':
7049
+ description: Bad Request
7050
+ content:
7051
+ application/json:
7052
+ schema:
7053
+ oneOf:
7054
+ - type: object
7055
+ properties:
7056
+ code:
7057
+ type: string
7058
+ description: The error code identifying the type of error.
7059
+ example: external_id_already_in_use
7060
+ const: external_id_already_in_use
7061
+ message:
7062
+ type: string
7063
+ description: A human-readable description of the error.
7064
+ example: Request could not be processed.
7065
+ required:
7066
+ - code
7067
+ - message
7068
+ - type: object
7069
+ properties:
7070
+ code:
7071
+ type: string
7072
+ description: The error code identifying the type of error.
7073
+ example: connection_type_not_supported
7074
+ const: connection_type_not_supported
7075
+ message:
7076
+ type: string
7077
+ description: A human-readable description of the error.
7078
+ example: Request could not be processed.
7079
+ required:
7080
+ - code
7081
+ - message
7082
+ - type: object
7083
+ properties:
7084
+ code:
7085
+ type: string
7086
+ description: The error code identifying the type of error.
7087
+ example: connection_type_or_options_required
7088
+ const: connection_type_or_options_required
7089
+ message:
7090
+ type: string
7091
+ description: A human-readable description of the error.
7092
+ example: Request could not be processed.
7093
+ required:
7094
+ - code
7095
+ - message
7096
+ - type: object
7097
+ properties:
7098
+ code:
7099
+ type: string
7100
+ description: The error code identifying the type of error.
7101
+ example: connection_type_conflicts_with_options
7102
+ const: connection_type_conflicts_with_options
7103
+ message:
7104
+ type: string
7105
+ description: A human-readable description of the error.
7106
+ example: Request could not be processed.
7107
+ required:
7108
+ - code
7109
+ - message
7110
+ - type: object
7111
+ properties:
7112
+ code:
7113
+ type: string
7114
+ description: The error code identifying the type of error.
7115
+ example: both_saml_and_oidc_options_provided
7116
+ const: both_saml_and_oidc_options_provided
7117
+ message:
7118
+ type: string
7119
+ description: A human-readable description of the error.
7120
+ example: Request could not be processed.
7121
+ required:
7122
+ - code
7123
+ - message
7124
+ - type: object
7125
+ properties:
7126
+ code:
7127
+ type: string
7128
+ description: The error code identifying the type of error.
7129
+ example: ambiguous_saml_options
7130
+ const: ambiguous_saml_options
7131
+ message:
7132
+ type: string
7133
+ description: A human-readable description of the error.
7134
+ example: Request could not be processed.
7135
+ required:
7136
+ - code
7137
+ - message
7138
+ - type: object
7139
+ properties:
7140
+ code:
7141
+ type: string
7142
+ description: The error code identifying the type of error.
7143
+ example: incomplete_saml_options
7144
+ const: incomplete_saml_options
7145
+ message:
7146
+ type: string
7147
+ description: A human-readable description of the error.
7148
+ example: Request could not be processed.
7149
+ required:
7150
+ - code
7151
+ - message
7152
+ - type: object
7153
+ properties:
7154
+ code:
7155
+ type: string
7156
+ description: The error code identifying the type of error.
7157
+ example: saml_options_required
7158
+ const: saml_options_required
7159
+ message:
7160
+ type: string
7161
+ description: A human-readable description of the error.
7162
+ example: Request could not be processed.
7163
+ required:
7164
+ - code
7165
+ - message
7166
+ - type: object
7167
+ properties:
7168
+ code:
7169
+ type: string
7170
+ description: The error code identifying the type of error.
7171
+ example: oidc_options_required
7172
+ const: oidc_options_required
7173
+ message:
7174
+ type: string
7175
+ description: A human-readable description of the error.
7176
+ example: Request could not be processed.
7177
+ required:
7178
+ - code
7179
+ - message
7180
+ - type: object
7181
+ properties:
7182
+ code:
7183
+ type: string
7184
+ description: The error code identifying the type of error.
7185
+ example: invalid_certificate
7186
+ const: invalid_certificate
7187
+ message:
7188
+ type: string
7189
+ description: A human-readable description of the error.
7190
+ example: Request could not be processed.
7191
+ required:
7192
+ - code
7193
+ - message
7194
+ - type: object
7195
+ properties:
7196
+ code:
7197
+ type: string
7198
+ description: The error code identifying the type of error.
7199
+ example: client_secret_required
7200
+ const: client_secret_required
7201
+ message:
7202
+ type: string
7203
+ description: A human-readable description of the error.
7204
+ example: Request could not be processed.
7205
+ required:
7206
+ - code
7207
+ - message
7208
+ - type: object
7209
+ properties:
7210
+ code:
7211
+ type: string
7212
+ description: The error code identifying the type of error.
7213
+ example: client_secret_not_accepted
7214
+ const: client_secret_not_accepted
7215
+ message:
7216
+ type: string
7217
+ description: A human-readable description of the error.
7218
+ example: Request could not be processed.
7219
+ required:
7220
+ - code
7221
+ - message
7222
+ - type: object
7223
+ properties:
7224
+ code:
7225
+ type: string
7226
+ description: The error code identifying the type of error.
7227
+ example: key_pair_not_accepted
7228
+ const: key_pair_not_accepted
7229
+ message:
7230
+ type: string
7231
+ description: A human-readable description of the error.
7232
+ example: Request could not be processed.
7233
+ required:
7234
+ - code
7235
+ - message
7236
+ - type: object
7237
+ properties:
7238
+ code:
7239
+ type: string
7240
+ description: The error code identifying the type of error.
7241
+ example: discovery_endpoint_must_use_https
7242
+ const: discovery_endpoint_must_use_https
7243
+ message:
7244
+ type: string
7245
+ description: A human-readable description of the error.
7246
+ example: Request could not be processed.
7247
+ required:
7248
+ - code
7249
+ - message
7250
+ - type: object
7251
+ properties:
7252
+ code:
7253
+ type: string
7254
+ description: The error code identifying the type of error.
7255
+ example: token_authentication_method_not_supported
7256
+ const: token_authentication_method_not_supported
7257
+ message:
7258
+ type: string
7259
+ description: A human-readable description of the error.
7260
+ example: Request could not be processed.
7261
+ required:
7262
+ - code
7263
+ - message
7264
+ '403':
7265
+ description: Forbidden
7266
+ content:
7267
+ application/json:
7268
+ schema:
7269
+ type: object
7270
+ properties:
7271
+ message:
7272
+ type: string
7273
+ description: A human-readable description of the error.
7274
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7275
+ required:
7276
+ - message
7277
+ '404':
7278
+ description: Not Found
7279
+ content:
7280
+ application/json:
7281
+ schema:
7282
+ type: object
7283
+ properties:
7284
+ message:
7285
+ type: string
7286
+ description: A human-readable description of the error.
7287
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7288
+ required:
7289
+ - message
7290
+ '409':
7291
+ description: ''
7292
+ content:
7293
+ application/json:
7294
+ schema:
7295
+ type: object
7296
+ properties:
7297
+ code:
7298
+ type: string
7299
+ description: The error code identifying the type of error.
7300
+ example: connection_deletion_in_progress
7301
+ const: connection_deletion_in_progress
7302
+ message:
7303
+ type: string
7304
+ description: A human-readable description of the error.
7305
+ example: Request could not be processed.
7306
+ required:
7307
+ - code
7308
+ - message
7309
+ '422':
7310
+ description: Unprocessable Entity
7311
+ content:
7312
+ application/json:
7313
+ schema:
7314
+ oneOf:
7315
+ - type: object
7316
+ properties:
7317
+ message:
7318
+ type: string
7319
+ description: A human-readable description of the error.
7320
+ example: >-
7321
+ Organization not found:
7322
+ 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
7323
+ required:
7324
+ - message
7325
+ - type: object
7326
+ properties:
7327
+ code:
7328
+ type: string
7329
+ description: The error code identifying the type of error.
7330
+ example: idp_metadata_fetch_failed
7331
+ const: idp_metadata_fetch_failed
7332
+ message:
7333
+ type: string
7334
+ description: A human-readable description of the error.
7335
+ example: Request could not be processed.
7336
+ required:
7337
+ - code
7338
+ - message
7339
+ - type: object
7340
+ properties:
7341
+ code:
7342
+ type: string
7343
+ description: The error code identifying the type of error.
7344
+ example: connection_could_not_be_verified
7345
+ const: connection_could_not_be_verified
7346
+ message:
7347
+ type: string
7348
+ description: A human-readable description of the error.
7349
+ example: Request could not be processed.
7350
+ required:
7351
+ - code
7352
+ - message
7353
+ - type: object
7354
+ properties:
7355
+ code:
7356
+ type: string
7357
+ description: The error code identifying the type of error.
7358
+ example: invalid_idp_sso_url
7359
+ const: invalid_idp_sso_url
7360
+ message:
7361
+ type: string
7362
+ description: A human-readable description of the error.
7363
+ example: Request could not be processed.
7364
+ required:
7365
+ - code
7366
+ - message
7367
+ summary: Create a Connection
7368
+ tags:
7369
+ - connections
7370
+ x-feature-flag: connections-api-migrations-capabilities-api
7371
+ x-mutually-exclusive-body-groups: &ref_7
7372
+ protocol_options:
7373
+ optional: false
7374
+ variants:
7375
+ saml:
7376
+ - saml_options
7377
+ oidc:
7378
+ - oidc_options
7027
7379
  get:
7028
7380
  description: >-
7029
- Get a list of all of your existing connections matching the criteria
7030
- specified.
7031
- operationId: ConnectionsController_list
7381
+ Get a list of all of your existing connections matching the criteria
7382
+ specified.
7383
+ operationId: ConnectionsController_list
7384
+ parameters:
7385
+ - name: before
7386
+ required: false
7387
+ in: query
7388
+ description: >-
7389
+ An object ID that defines your place in the list. When the ID is not
7390
+ present, you are at the end of the list.
7391
+ schema:
7392
+ example: obj_1234567890
7393
+ type: string
7394
+ - name: after
7395
+ required: false
7396
+ in: query
7397
+ description: >-
7398
+ An object ID that defines your place in the list. When the ID is not
7399
+ present, you are at the end of the list.
7400
+ schema:
7401
+ example: obj_1234567890
7402
+ type: string
7403
+ - name: limit
7404
+ required: false
7405
+ in: query
7406
+ description: >-
7407
+ Upper limit on the number of objects to return, between `1` and
7408
+ `100`.
7409
+ schema:
7410
+ minimum: 1
7411
+ maximum: 100
7412
+ default: 10
7413
+ example: 10
7414
+ type: integer
7415
+ - name: order
7416
+ required: false
7417
+ in: query
7418
+ description: Order the results by the creation time. Defaults to `normal`.
7419
+ schema:
7420
+ $ref: '#/components/schemas/PaginationOrder'
7421
+ - name: connection_type
7422
+ required: false
7423
+ in: query
7424
+ description: Filter Connections by their type.
7425
+ schema:
7426
+ example: GithubOAuth
7427
+ enum:
7428
+ - ADFSSAML
7429
+ - AdpOidc
7430
+ - AppleOAuth
7431
+ - Auth0SAML
7432
+ - AzureSAML
7433
+ - BitbucketOAuth
7434
+ - CasSAML
7435
+ - CloudflareSAML
7436
+ - ClassLinkSAML
7437
+ - CleverOIDC
7438
+ - CyberArkSAML
7439
+ - DuoSAML
7440
+ - EntraIdOIDC
7441
+ - GenericOIDC
7442
+ - GenericSAML
7443
+ - GithubOAuth
7444
+ - GitLabOAuth
7445
+ - GoogleOAuth
7446
+ - GoogleOIDC
7447
+ - GoogleSAML
7448
+ - IntuitOAuth
7449
+ - JumpCloudSAML
7450
+ - KeycloakSAML
7451
+ - LastPassSAML
7452
+ - LinkedInOAuth
7453
+ - LoginGovOidc
7454
+ - MagicLink
7455
+ - MicrosoftOAuth
7456
+ - MiniOrangeSAML
7457
+ - NetIqSAML
7458
+ - OktaOIDC
7459
+ - OktaSAML
7460
+ - OneLoginSAML
7461
+ - OracleSAML
7462
+ - PingFederateSAML
7463
+ - PingOneSAML
7464
+ - RipplingSAML
7465
+ - SalesforceSAML
7466
+ - ShibbolethGenericSAML
7467
+ - ShibbolethSAML
7468
+ - SimpleSamlPhpSAML
7469
+ - SalesforceOAuth
7470
+ - SlackOAuth
7471
+ - VercelMarketplaceOAuth
7472
+ - VercelOAuth
7473
+ - VMwareSAML
7474
+ - XeroOAuth
7475
+ type: string
7476
+ - name: domain
7477
+ required: false
7478
+ in: query
7479
+ description: Filter Connections by their associated domain.
7480
+ schema:
7481
+ example: foo-corp.com
7482
+ type: string
7483
+ - name: organization_id
7484
+ required: false
7485
+ in: query
7486
+ description: Filter Connections by their associated organization.
7487
+ schema:
7488
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
7489
+ type: string
7490
+ - name: search
7491
+ required: false
7492
+ in: query
7493
+ description: Searchable text to match against Connection names.
7494
+ schema:
7495
+ example: Foo Corp
7496
+ type: string
7497
+ responses:
7498
+ '200':
7499
+ description: OK
7500
+ content:
7501
+ application/json:
7502
+ schema:
7503
+ $ref: '#/components/schemas/ConnectionList'
7504
+ '403':
7505
+ description: Forbidden
7506
+ content:
7507
+ application/json:
7508
+ schema:
7509
+ type: object
7510
+ properties:
7511
+ message:
7512
+ type: string
7513
+ description: A human-readable description of the error.
7514
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7515
+ required:
7516
+ - message
7517
+ '422':
7518
+ description: Unprocessable Entity
7519
+ content:
7520
+ application/json:
7521
+ schema:
7522
+ type: object
7523
+ properties:
7524
+ message:
7525
+ type: string
7526
+ description: A human-readable description of the error.
7527
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7528
+ required:
7529
+ - message
7530
+ summary: List Connections
7531
+ tags:
7532
+ - connections
7533
+ /connections/{connectionId}/saml_idp_signing_certs:
7534
+ get:
7535
+ description: >-
7536
+ Lists every Identity Provider signing certificate on the connection,
7537
+ including expired ones, oldest first.
7538
+ operationId: SamlIdpSigningCertificatesController_list
7539
+ parameters:
7540
+ - name: connectionId
7541
+ required: true
7542
+ in: path
7543
+ description: Unique identifier for the Connection.
7544
+ schema:
7545
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7546
+ type: string
7547
+ responses:
7548
+ '200':
7549
+ description: OK
7550
+ content:
7551
+ application/json:
7552
+ schema:
7553
+ $ref: '#/components/schemas/SamlIdpSigningCertificateList'
7554
+ '400':
7555
+ description: Bad Request
7556
+ content:
7557
+ application/json:
7558
+ schema:
7559
+ type: object
7560
+ properties:
7561
+ code:
7562
+ type: string
7563
+ description: The error code identifying the type of error.
7564
+ example: connection_is_not_saml
7565
+ const: connection_is_not_saml
7566
+ message:
7567
+ type: string
7568
+ description: A human-readable description of the error.
7569
+ example: Request could not be processed.
7570
+ required:
7571
+ - code
7572
+ - message
7573
+ '403':
7574
+ description: Forbidden
7575
+ content:
7576
+ application/json:
7577
+ schema:
7578
+ type: object
7579
+ properties:
7580
+ message:
7581
+ type: string
7582
+ description: A human-readable description of the error.
7583
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7584
+ required:
7585
+ - message
7586
+ '404':
7587
+ description: Not Found
7588
+ content:
7589
+ application/json:
7590
+ schema:
7591
+ type: object
7592
+ properties:
7593
+ message:
7594
+ type: string
7595
+ description: A human-readable description of the error.
7596
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7597
+ required:
7598
+ - message
7599
+ summary: List IdP signing certificates
7600
+ tags:
7601
+ - connections
7602
+ x-feature-flag: connections-api-migrations-capabilities-api
7603
+ post:
7604
+ description: >-
7605
+ Adds an Identity Provider signing certificate to the connection, so SAML
7606
+ responses signed with its key can be verified. Use this to import a new
7607
+ certificate ahead of an Identity Provider rotation — the existing
7608
+ certificates keep working until they are deleted or expire.
7609
+ operationId: SamlIdpSigningCertificatesController_create
7610
+ parameters:
7611
+ - name: connectionId
7612
+ required: true
7613
+ in: path
7614
+ description: Unique identifier for the Connection.
7615
+ schema:
7616
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7617
+ type: string
7618
+ requestBody:
7619
+ required: true
7620
+ content:
7621
+ application/json:
7622
+ schema:
7623
+ $ref: '#/components/schemas/CreateSamlIdpSigningCertificateDto'
7624
+ responses:
7625
+ '201':
7626
+ description: Created
7627
+ content:
7628
+ application/json:
7629
+ schema:
7630
+ $ref: '#/components/schemas/SamlIdpSigningCertificate'
7631
+ '400':
7632
+ description: Bad Request
7633
+ content:
7634
+ application/json:
7635
+ schema:
7636
+ oneOf:
7637
+ - type: object
7638
+ properties:
7639
+ code:
7640
+ type: string
7641
+ description: The error code identifying the type of error.
7642
+ example: connection_is_not_saml
7643
+ const: connection_is_not_saml
7644
+ message:
7645
+ type: string
7646
+ description: A human-readable description of the error.
7647
+ example: Request could not be processed.
7648
+ required:
7649
+ - code
7650
+ - message
7651
+ - type: object
7652
+ properties:
7653
+ code:
7654
+ type: string
7655
+ description: The error code identifying the type of error.
7656
+ example: invalid_certificate
7657
+ const: invalid_certificate
7658
+ message:
7659
+ type: string
7660
+ description: A human-readable description of the error.
7661
+ example: Request could not be processed.
7662
+ required:
7663
+ - code
7664
+ - message
7665
+ - type: object
7666
+ properties:
7667
+ code:
7668
+ type: string
7669
+ description: The error code identifying the type of error.
7670
+ example: certificate_expired
7671
+ const: certificate_expired
7672
+ message:
7673
+ type: string
7674
+ description: A human-readable description of the error.
7675
+ example: Request could not be processed.
7676
+ required:
7677
+ - code
7678
+ - message
7679
+ '403':
7680
+ description: Forbidden
7681
+ content:
7682
+ application/json:
7683
+ schema:
7684
+ type: object
7685
+ properties:
7686
+ message:
7687
+ type: string
7688
+ description: A human-readable description of the error.
7689
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7690
+ required:
7691
+ - message
7692
+ '404':
7693
+ description: Not Found
7694
+ content:
7695
+ application/json:
7696
+ schema:
7697
+ type: object
7698
+ properties:
7699
+ message:
7700
+ type: string
7701
+ description: A human-readable description of the error.
7702
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7703
+ required:
7704
+ - message
7705
+ '422':
7706
+ description: Unprocessable Entity
7707
+ content:
7708
+ application/json:
7709
+ schema:
7710
+ type: object
7711
+ properties:
7712
+ message:
7713
+ type: string
7714
+ description: A human-readable description of the error.
7715
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7716
+ required:
7717
+ - message
7718
+ summary: Create an IdP signing certificate
7719
+ tags:
7720
+ - connections
7721
+ x-feature-flag: connections-api-migrations-capabilities-api
7722
+ /connections/{connectionId}/saml_idp_signing_certs/{certificateId}:
7723
+ delete:
7724
+ description: >-
7725
+ Removes an Identity Provider signing certificate from the connection.
7726
+ The last remaining certificate cannot be deleted. A certificate still
7727
+ published in the Identity Provider metadata may be restored by a
7728
+ metadata refresh.
7729
+ operationId: SamlIdpSigningCertificatesController_delete
7730
+ parameters:
7731
+ - name: connectionId
7732
+ required: true
7733
+ in: path
7734
+ description: Unique identifier for the Connection.
7735
+ schema:
7736
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7737
+ type: string
7738
+ - name: certificateId
7739
+ required: true
7740
+ in: path
7741
+ description: Unique identifier for the Identity Provider signing certificate.
7742
+ schema:
7743
+ example: saml_x509_cert_01E4ZCR3C56J083X43JQXF3JK5
7744
+ type: string
7745
+ responses:
7746
+ '204':
7747
+ description: No Content
7748
+ '400':
7749
+ description: Bad Request
7750
+ content:
7751
+ application/json:
7752
+ schema:
7753
+ type: object
7754
+ properties:
7755
+ code:
7756
+ type: string
7757
+ description: The error code identifying the type of error.
7758
+ example: cannot_delete_last_certificate
7759
+ const: cannot_delete_last_certificate
7760
+ message:
7761
+ type: string
7762
+ description: A human-readable description of the error.
7763
+ example: Request could not be processed.
7764
+ required:
7765
+ - code
7766
+ - message
7767
+ '403':
7768
+ description: Forbidden
7769
+ content:
7770
+ application/json:
7771
+ schema:
7772
+ type: object
7773
+ properties:
7774
+ message:
7775
+ type: string
7776
+ description: A human-readable description of the error.
7777
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7778
+ required:
7779
+ - message
7780
+ '404':
7781
+ description: Not Found
7782
+ content:
7783
+ application/json:
7784
+ schema:
7785
+ type: object
7786
+ properties:
7787
+ message:
7788
+ type: string
7789
+ description: A human-readable description of the error.
7790
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7791
+ required:
7792
+ - message
7793
+ summary: Delete an IdP signing certificate
7794
+ tags:
7795
+ - connections
7796
+ x-feature-flag: connections-api-migrations-capabilities-api
7797
+ /connections/{connectionId}/saml_sp_encryption_certs:
7798
+ get:
7799
+ description: >-
7800
+ Lists the public certificates the Identity Provider can use to encrypt
7801
+ SAML responses sent to WorkOS, including expired ones, oldest first.
7802
+ operationId: SamlSpEncryptionCertificatesController_list
7803
+ parameters:
7804
+ - name: connectionId
7805
+ required: true
7806
+ in: path
7807
+ description: Unique identifier for the Connection.
7808
+ schema:
7809
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7810
+ type: string
7811
+ responses:
7812
+ '200':
7813
+ description: OK
7814
+ content:
7815
+ application/json:
7816
+ schema:
7817
+ $ref: '#/components/schemas/SamlSpEncryptionCertificateList'
7818
+ '400':
7819
+ description: Bad Request
7820
+ content:
7821
+ application/json:
7822
+ schema:
7823
+ type: object
7824
+ properties:
7825
+ code:
7826
+ type: string
7827
+ description: The error code identifying the type of error.
7828
+ example: connection_is_not_saml
7829
+ const: connection_is_not_saml
7830
+ message:
7831
+ type: string
7832
+ description: A human-readable description of the error.
7833
+ example: Request could not be processed.
7834
+ required:
7835
+ - code
7836
+ - message
7837
+ '403':
7838
+ description: Forbidden
7839
+ content:
7840
+ application/json:
7841
+ schema:
7842
+ type: object
7843
+ properties:
7844
+ message:
7845
+ type: string
7846
+ description: A human-readable description of the error.
7847
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7848
+ required:
7849
+ - message
7850
+ '404':
7851
+ description: Not Found
7852
+ content:
7853
+ application/json:
7854
+ schema:
7855
+ type: object
7856
+ properties:
7857
+ message:
7858
+ type: string
7859
+ description: A human-readable description of the error.
7860
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7861
+ required:
7862
+ - message
7863
+ summary: List SP encryption certificates
7864
+ tags:
7865
+ - connections
7866
+ x-feature-flag: connections-api-migrations-capabilities-api
7867
+ post:
7868
+ description: >-
7869
+ Generates a new encryption key pair for the connection and returns its
7870
+ public certificate. WorkOS holds the private key, so the request takes
7871
+ no body — to bring your own key pairs, provide
7872
+ `saml_options.sp_encryption_key_pairs` when creating the connection
7873
+ instead. Creating a certificate appends rather than replaces: every
7874
+ active private key is tried when decrypting, which lets a rotation
7875
+ overlap the old and new certificates.
7876
+ operationId: SamlSpEncryptionCertificatesController_create
7877
+ parameters:
7878
+ - name: connectionId
7879
+ required: true
7880
+ in: path
7881
+ description: Unique identifier for the Connection.
7882
+ schema:
7883
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7884
+ type: string
7885
+ responses:
7886
+ '201':
7887
+ description: Created
7888
+ content:
7889
+ application/json:
7890
+ schema:
7891
+ $ref: '#/components/schemas/SamlSpEncryptionCertificate'
7892
+ '400':
7893
+ description: Bad Request
7894
+ content:
7895
+ application/json:
7896
+ schema:
7897
+ oneOf:
7898
+ - type: object
7899
+ properties:
7900
+ code:
7901
+ type: string
7902
+ description: The error code identifying the type of error.
7903
+ example: connection_is_not_saml
7904
+ const: connection_is_not_saml
7905
+ message:
7906
+ type: string
7907
+ description: A human-readable description of the error.
7908
+ example: Request could not be processed.
7909
+ required:
7910
+ - code
7911
+ - message
7912
+ - type: object
7913
+ properties:
7914
+ code:
7915
+ type: string
7916
+ description: The error code identifying the type of error.
7917
+ example: key_pair_not_accepted
7918
+ const: key_pair_not_accepted
7919
+ message:
7920
+ type: string
7921
+ description: A human-readable description of the error.
7922
+ example: Request could not be processed.
7923
+ required:
7924
+ - code
7925
+ - message
7926
+ '403':
7927
+ description: Forbidden
7928
+ content:
7929
+ application/json:
7930
+ schema:
7931
+ type: object
7932
+ properties:
7933
+ message:
7934
+ type: string
7935
+ description: A human-readable description of the error.
7936
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7937
+ required:
7938
+ - message
7939
+ '404':
7940
+ description: Not Found
7941
+ content:
7942
+ application/json:
7943
+ schema:
7944
+ type: object
7945
+ properties:
7946
+ message:
7947
+ type: string
7948
+ description: A human-readable description of the error.
7949
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7950
+ required:
7951
+ - message
7952
+ '409':
7953
+ description: ''
7954
+ content:
7955
+ application/json:
7956
+ schema:
7957
+ type: object
7958
+ properties:
7959
+ code:
7960
+ type: string
7961
+ description: The error code identifying the type of error.
7962
+ example: too_many_sp_encryption_certs
7963
+ const: too_many_sp_encryption_certs
7964
+ message:
7965
+ type: string
7966
+ description: A human-readable description of the error.
7967
+ example: Request could not be processed.
7968
+ required:
7969
+ - code
7970
+ - message
7971
+ '503':
7972
+ description: ''
7973
+ content:
7974
+ application/json:
7975
+ schema:
7976
+ type: object
7977
+ properties:
7978
+ code:
7979
+ type: string
7980
+ description: The error code identifying the type of error.
7981
+ example: concurrent_request
7982
+ const: concurrent_request
7983
+ message:
7984
+ type: string
7985
+ description: A human-readable description of the error.
7986
+ example: Request could not be processed.
7987
+ required:
7988
+ - code
7989
+ - message
7990
+ summary: Create an SP encryption certificate
7991
+ tags:
7992
+ - connections
7993
+ x-feature-flag: connections-api-migrations-capabilities-api
7994
+ /connections/{connectionId}/saml_sp_encryption_certs/{certificateId}:
7995
+ delete:
7996
+ description: >-
7997
+ Removes an encryption key pair from the connection. SAML responses
7998
+ encrypted with its certificate can no longer be decrypted, so remove the
7999
+ certificate from the Identity Provider first when rotating.
8000
+ operationId: SamlSpEncryptionCertificatesController_delete
8001
+ parameters:
8002
+ - name: connectionId
8003
+ required: true
8004
+ in: path
8005
+ description: Unique identifier for the Connection.
8006
+ schema:
8007
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
8008
+ type: string
8009
+ - name: certificateId
8010
+ required: true
8011
+ in: path
8012
+ description: >-
8013
+ Unique identifier for the Service Provider encryption key pair.
8014
+ WorkOS holds the corresponding private key, which is never exposed.
8015
+ schema:
8016
+ example: saml_enc_key_pair_01E4ZCR3C56J083X43JQXF3JK5
8017
+ type: string
8018
+ responses:
8019
+ '204':
8020
+ description: No Content
8021
+ '403':
8022
+ description: Forbidden
8023
+ content:
8024
+ application/json:
8025
+ schema:
8026
+ type: object
8027
+ properties:
8028
+ message:
8029
+ type: string
8030
+ description: A human-readable description of the error.
8031
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8032
+ required:
8033
+ - message
8034
+ '404':
8035
+ description: Not Found
8036
+ content:
8037
+ application/json:
8038
+ schema:
8039
+ type: object
8040
+ properties:
8041
+ message:
8042
+ type: string
8043
+ description: A human-readable description of the error.
8044
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8045
+ required:
8046
+ - message
8047
+ summary: Delete an SP encryption certificate
8048
+ tags:
8049
+ - connections
8050
+ x-feature-flag: connections-api-migrations-capabilities-api
8051
+ /connections/{connectionId}/saml_sp_signing_cert:
8052
+ get:
8053
+ description: >-
8054
+ Returns the public certificate the Identity Provider can use to verify
8055
+ the signature of SAML requests sent by WorkOS. Responds with `404` when
8056
+ the connection has no request signing key pair.
8057
+ operationId: SamlSpSigningCertificatesController_get
8058
+ parameters:
8059
+ - name: connectionId
8060
+ required: true
8061
+ in: path
8062
+ description: Unique identifier for the Connection.
8063
+ schema:
8064
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
8065
+ type: string
8066
+ responses:
8067
+ '200':
8068
+ description: OK
8069
+ content:
8070
+ application/json:
8071
+ schema:
8072
+ $ref: '#/components/schemas/SamlSpSigningCertificate'
8073
+ '400':
8074
+ description: Bad Request
8075
+ content:
8076
+ application/json:
8077
+ schema:
8078
+ type: object
8079
+ properties:
8080
+ code:
8081
+ type: string
8082
+ description: The error code identifying the type of error.
8083
+ example: connection_is_not_saml
8084
+ const: connection_is_not_saml
8085
+ message:
8086
+ type: string
8087
+ description: A human-readable description of the error.
8088
+ example: Request could not be processed.
8089
+ required:
8090
+ - code
8091
+ - message
8092
+ '403':
8093
+ description: Forbidden
8094
+ content:
8095
+ application/json:
8096
+ schema:
8097
+ type: object
8098
+ properties:
8099
+ message:
8100
+ type: string
8101
+ description: A human-readable description of the error.
8102
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8103
+ required:
8104
+ - message
8105
+ '404':
8106
+ description: Not Found
8107
+ content:
8108
+ application/json:
8109
+ schema:
8110
+ type: object
8111
+ properties:
8112
+ message:
8113
+ type: string
8114
+ description: A human-readable description of the error.
8115
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8116
+ required:
8117
+ - message
8118
+ summary: Get the SP signing certificate
8119
+ tags:
8120
+ - connections
8121
+ x-feature-flag: connections-api-migrations-capabilities-api
8122
+ post:
8123
+ description: >-
8124
+ Generates a new request signing key pair for the connection and returns
8125
+ its public certificate. WorkOS holds the private key, so the request
8126
+ takes no body — to bring your own key pair, provide
8127
+ `saml_options.sp_signing_key_pair` when creating the connection instead.
8128
+ A connection signs with one key pair at a time: delete the existing
8129
+ certificate before creating its replacement.
8130
+ operationId: SamlSpSigningCertificatesController_create
7032
8131
  parameters:
7033
- - name: before
7034
- required: false
7035
- in: query
7036
- description: >-
7037
- An object ID that defines your place in the list. When the ID is not
7038
- present, you are at the end of the list.
8132
+ - name: connectionId
8133
+ required: true
8134
+ in: path
8135
+ description: Unique identifier for the Connection.
7039
8136
  schema:
7040
- example: obj_1234567890
8137
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7041
8138
  type: string
7042
- - name: after
7043
- required: false
7044
- in: query
7045
- description: >-
7046
- An object ID that defines your place in the list. When the ID is not
7047
- present, you are at the end of the list.
8139
+ responses:
8140
+ '201':
8141
+ description: Created
8142
+ content:
8143
+ application/json:
8144
+ schema:
8145
+ $ref: '#/components/schemas/SamlSpSigningCertificate'
8146
+ '400':
8147
+ description: Bad Request
8148
+ content:
8149
+ application/json:
8150
+ schema:
8151
+ oneOf:
8152
+ - type: object
8153
+ properties:
8154
+ code:
8155
+ type: string
8156
+ description: The error code identifying the type of error.
8157
+ example: connection_is_not_saml
8158
+ const: connection_is_not_saml
8159
+ message:
8160
+ type: string
8161
+ description: A human-readable description of the error.
8162
+ example: Request could not be processed.
8163
+ required:
8164
+ - code
8165
+ - message
8166
+ - type: object
8167
+ properties:
8168
+ code:
8169
+ type: string
8170
+ description: The error code identifying the type of error.
8171
+ example: key_pair_not_accepted
8172
+ const: key_pair_not_accepted
8173
+ message:
8174
+ type: string
8175
+ description: A human-readable description of the error.
8176
+ example: Request could not be processed.
8177
+ required:
8178
+ - code
8179
+ - message
8180
+ - type: object
8181
+ properties:
8182
+ code:
8183
+ type: string
8184
+ description: The error code identifying the type of error.
8185
+ example: connection_type_not_supported
8186
+ const: connection_type_not_supported
8187
+ message:
8188
+ type: string
8189
+ description: A human-readable description of the error.
8190
+ example: Request could not be processed.
8191
+ required:
8192
+ - code
8193
+ - message
8194
+ '403':
8195
+ description: Forbidden
8196
+ content:
8197
+ application/json:
8198
+ schema:
8199
+ type: object
8200
+ properties:
8201
+ message:
8202
+ type: string
8203
+ description: A human-readable description of the error.
8204
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8205
+ required:
8206
+ - message
8207
+ '404':
8208
+ description: Not Found
8209
+ content:
8210
+ application/json:
8211
+ schema:
8212
+ type: object
8213
+ properties:
8214
+ message:
8215
+ type: string
8216
+ description: A human-readable description of the error.
8217
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8218
+ required:
8219
+ - message
8220
+ '409':
8221
+ description: ''
8222
+ content:
8223
+ application/json:
8224
+ schema:
8225
+ type: object
8226
+ properties:
8227
+ code:
8228
+ type: string
8229
+ description: The error code identifying the type of error.
8230
+ example: sp_signing_cert_already_exists
8231
+ const: sp_signing_cert_already_exists
8232
+ message:
8233
+ type: string
8234
+ description: A human-readable description of the error.
8235
+ example: Request could not be processed.
8236
+ required:
8237
+ - code
8238
+ - message
8239
+ '503':
8240
+ description: ''
8241
+ content:
8242
+ application/json:
8243
+ schema:
8244
+ type: object
8245
+ properties:
8246
+ code:
8247
+ type: string
8248
+ description: The error code identifying the type of error.
8249
+ example: concurrent_request
8250
+ const: concurrent_request
8251
+ message:
8252
+ type: string
8253
+ description: A human-readable description of the error.
8254
+ example: Request could not be processed.
8255
+ required:
8256
+ - code
8257
+ - message
8258
+ summary: Create an SP signing certificate
8259
+ tags:
8260
+ - connections
8261
+ x-feature-flag: connections-api-migrations-capabilities-api
8262
+ /connections/{connectionId}/saml_sp_signing_cert/{certificateId}:
8263
+ delete:
8264
+ description: >-
8265
+ Removes the request signing key pair from the connection, after which
8266
+ SAML requests are sent unsigned. Delete the certificate before creating
8267
+ its replacement when rotating.
8268
+ operationId: SamlSpSigningCertificatesController_delete
8269
+ parameters:
8270
+ - name: connectionId
8271
+ required: true
8272
+ in: path
8273
+ description: Unique identifier for the Connection.
7048
8274
  schema:
7049
- example: obj_1234567890
8275
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7050
8276
  type: string
7051
- - name: limit
7052
- required: false
7053
- in: query
8277
+ - name: certificateId
8278
+ required: true
8279
+ in: path
7054
8280
  description: >-
7055
- Upper limit on the number of objects to return, between `1` and
7056
- `100`.
7057
- schema:
7058
- minimum: 1
7059
- maximum: 100
7060
- default: 10
7061
- example: 10
7062
- type: integer
7063
- - name: order
7064
- required: false
7065
- in: query
7066
- description: Order the results by the creation time.
7067
- schema:
7068
- $ref: '#/components/schemas/PaginationOrder'
7069
- - name: connection_type
7070
- required: false
7071
- in: query
7072
- description: Filter Connections by their type.
7073
- schema:
7074
- example: GithubOAuth
7075
- enum:
7076
- - ADFSSAML
7077
- - AdpOidc
7078
- - AppleOAuth
7079
- - Auth0SAML
7080
- - AzureSAML
7081
- - BitbucketOAuth
7082
- - CasSAML
7083
- - CloudflareSAML
7084
- - ClassLinkSAML
7085
- - CleverOIDC
7086
- - CyberArkSAML
7087
- - DuoSAML
7088
- - EntraIdOIDC
7089
- - GenericOIDC
7090
- - GenericSAML
7091
- - GithubOAuth
7092
- - GitLabOAuth
7093
- - GoogleOAuth
7094
- - GoogleOIDC
7095
- - GoogleSAML
7096
- - IntuitOAuth
7097
- - JumpCloudSAML
7098
- - KeycloakSAML
7099
- - LastPassSAML
7100
- - LinkedInOAuth
7101
- - LoginGovOidc
7102
- - MagicLink
7103
- - MicrosoftOAuth
7104
- - MiniOrangeSAML
7105
- - NetIqSAML
7106
- - OktaOIDC
7107
- - OktaSAML
7108
- - OneLoginSAML
7109
- - OracleSAML
7110
- - PingFederateSAML
7111
- - PingOneSAML
7112
- - RipplingSAML
7113
- - SalesforceSAML
7114
- - ShibbolethGenericSAML
7115
- - ShibbolethSAML
7116
- - SimpleSamlPhpSAML
7117
- - SalesforceOAuth
7118
- - SlackOAuth
7119
- - VercelMarketplaceOAuth
7120
- - VercelOAuth
7121
- - VMwareSAML
7122
- - XeroOAuth
7123
- type: string
7124
- - name: domain
7125
- required: false
7126
- in: query
7127
- description: Filter Connections by their associated domain.
7128
- schema:
7129
- example: foo-corp.com
7130
- type: string
7131
- - name: organization_id
7132
- required: false
7133
- in: query
7134
- description: Filter Connections by their associated organization.
8281
+ Unique identifier for the Service Provider signing key pair. WorkOS
8282
+ holds the corresponding private key, which is never exposed.
7135
8283
  schema:
7136
- example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
8284
+ example: saml_party_trust_01E4ZCR3C56J083X43JQXF3JK5
7137
8285
  type: string
7138
- - name: search
7139
- required: false
7140
- in: query
7141
- description: Searchable text to match against Connection names.
8286
+ responses:
8287
+ '204':
8288
+ description: No Content
8289
+ '403':
8290
+ description: Forbidden
8291
+ content:
8292
+ application/json:
8293
+ schema:
8294
+ type: object
8295
+ properties:
8296
+ message:
8297
+ type: string
8298
+ description: A human-readable description of the error.
8299
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8300
+ required:
8301
+ - message
8302
+ '404':
8303
+ description: Not Found
8304
+ content:
8305
+ application/json:
8306
+ schema:
8307
+ type: object
8308
+ properties:
8309
+ message:
8310
+ type: string
8311
+ description: A human-readable description of the error.
8312
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
8313
+ required:
8314
+ - message
8315
+ summary: Delete the SP signing certificate
8316
+ tags:
8317
+ - connections
8318
+ x-feature-flag: connections-api-migrations-capabilities-api
8319
+ /connections/{id}:
8320
+ patch:
8321
+ description: >-
8322
+ Updates an existing connection. Only the provided fields are changed;
8323
+ fields that accept `null` are reset to their default behavior.
8324
+ operationId: ConnectionsController_patch
8325
+ parameters:
8326
+ - name: id
8327
+ required: true
8328
+ in: path
8329
+ description: Unique identifier for the Connection.
7142
8330
  schema:
7143
- example: Foo Corp
8331
+ example: conn_01E4ZCR3C56J083X43JQXF3JK5
7144
8332
  type: string
8333
+ requestBody:
8334
+ required: true
8335
+ content:
8336
+ application/json:
8337
+ schema:
8338
+ $ref: '#/components/schemas/PatchConnectionDto'
7145
8339
  responses:
7146
8340
  '200':
7147
8341
  description: OK
7148
8342
  content:
7149
8343
  application/json:
7150
8344
  schema:
7151
- $ref: '#/components/schemas/ConnectionList'
8345
+ $ref: '#/components/schemas/Connection'
8346
+ '400':
8347
+ description: Bad Request
8348
+ content:
8349
+ application/json:
8350
+ schema:
8351
+ oneOf:
8352
+ - type: object
8353
+ properties:
8354
+ code:
8355
+ type: string
8356
+ description: The error code identifying the type of error.
8357
+ example: external_id_already_in_use
8358
+ const: external_id_already_in_use
8359
+ message:
8360
+ type: string
8361
+ description: A human-readable description of the error.
8362
+ example: Request could not be processed.
8363
+ required:
8364
+ - code
8365
+ - message
8366
+ - type: object
8367
+ properties:
8368
+ code:
8369
+ type: string
8370
+ description: The error code identifying the type of error.
8371
+ example: connection_type_not_supported
8372
+ const: connection_type_not_supported
8373
+ message:
8374
+ type: string
8375
+ description: A human-readable description of the error.
8376
+ example: Request could not be processed.
8377
+ required:
8378
+ - code
8379
+ - message
8380
+ - type: object
8381
+ properties:
8382
+ code:
8383
+ type: string
8384
+ description: The error code identifying the type of error.
8385
+ example: connection_type_conflicts_with_options
8386
+ const: connection_type_conflicts_with_options
8387
+ message:
8388
+ type: string
8389
+ description: A human-readable description of the error.
8390
+ example: Request could not be processed.
8391
+ required:
8392
+ - code
8393
+ - message
8394
+ - type: object
8395
+ properties:
8396
+ code:
8397
+ type: string
8398
+ description: The error code identifying the type of error.
8399
+ example: both_saml_and_oidc_options_provided
8400
+ const: both_saml_and_oidc_options_provided
8401
+ message:
8402
+ type: string
8403
+ description: A human-readable description of the error.
8404
+ example: Request could not be processed.
8405
+ required:
8406
+ - code
8407
+ - message
8408
+ - type: object
8409
+ properties:
8410
+ code:
8411
+ type: string
8412
+ description: The error code identifying the type of error.
8413
+ example: ambiguous_saml_options
8414
+ const: ambiguous_saml_options
8415
+ message:
8416
+ type: string
8417
+ description: A human-readable description of the error.
8418
+ example: Request could not be processed.
8419
+ required:
8420
+ - code
8421
+ - message
8422
+ - type: object
8423
+ properties:
8424
+ code:
8425
+ type: string
8426
+ description: The error code identifying the type of error.
8427
+ example: token_authentication_method_not_supported
8428
+ const: token_authentication_method_not_supported
8429
+ message:
8430
+ type: string
8431
+ description: A human-readable description of the error.
8432
+ example: Request could not be processed.
8433
+ required:
8434
+ - code
8435
+ - message
8436
+ - type: object
8437
+ properties:
8438
+ code:
8439
+ type: string
8440
+ description: The error code identifying the type of error.
8441
+ example: id_token_signature_algorithm_not_supported
8442
+ const: id_token_signature_algorithm_not_supported
8443
+ message:
8444
+ type: string
8445
+ description: A human-readable description of the error.
8446
+ example: Request could not be processed.
8447
+ required:
8448
+ - code
8449
+ - message
8450
+ - type: object
8451
+ properties:
8452
+ code:
8453
+ type: string
8454
+ description: The error code identifying the type of error.
8455
+ example: client_secret_required
8456
+ const: client_secret_required
8457
+ message:
8458
+ type: string
8459
+ description: A human-readable description of the error.
8460
+ example: Request could not be processed.
8461
+ required:
8462
+ - code
8463
+ - message
8464
+ - type: object
8465
+ properties:
8466
+ code:
8467
+ type: string
8468
+ description: The error code identifying the type of error.
8469
+ example: client_secret_not_accepted
8470
+ const: client_secret_not_accepted
8471
+ message:
8472
+ type: string
8473
+ description: A human-readable description of the error.
8474
+ example: Request could not be processed.
8475
+ required:
8476
+ - code
8477
+ - message
8478
+ - type: object
8479
+ properties:
8480
+ code:
8481
+ type: string
8482
+ description: The error code identifying the type of error.
8483
+ example: discovery_endpoint_must_use_https
8484
+ const: discovery_endpoint_must_use_https
8485
+ message:
8486
+ type: string
8487
+ description: A human-readable description of the error.
8488
+ example: Request could not be processed.
8489
+ required:
8490
+ - code
8491
+ - message
7152
8492
  '403':
7153
8493
  description: Forbidden
7154
8494
  content:
@@ -7162,8 +8502,8 @@ paths:
7162
8502
  example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7163
8503
  required:
7164
8504
  - message
7165
- '422':
7166
- description: Unprocessable Entity
8505
+ '404':
8506
+ description: Not Found
7167
8507
  content:
7168
8508
  application/json:
7169
8509
  schema:
@@ -7175,10 +8515,95 @@ paths:
7175
8515
  example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7176
8516
  required:
7177
8517
  - message
7178
- summary: List Connections
8518
+ '409':
8519
+ description: ''
8520
+ content:
8521
+ application/json:
8522
+ schema:
8523
+ type: object
8524
+ properties:
8525
+ code:
8526
+ type: string
8527
+ description: The error code identifying the type of error.
8528
+ example: connection_deletion_in_progress
8529
+ const: connection_deletion_in_progress
8530
+ message:
8531
+ type: string
8532
+ description: A human-readable description of the error.
8533
+ example: Request could not be processed.
8534
+ required:
8535
+ - code
8536
+ - message
8537
+ '422':
8538
+ description: Unprocessable Entity
8539
+ content:
8540
+ application/json:
8541
+ schema:
8542
+ oneOf:
8543
+ - type: object
8544
+ properties:
8545
+ message:
8546
+ type: string
8547
+ description: A human-readable description of the error.
8548
+ example: >-
8549
+ Organization not found:
8550
+ 'org_01EHQMYV6MBK39QC5PZXHY59C3'.
8551
+ required:
8552
+ - message
8553
+ - type: object
8554
+ properties:
8555
+ code:
8556
+ type: string
8557
+ description: The error code identifying the type of error.
8558
+ example: connection_type_not_updatable
8559
+ const: connection_type_not_updatable
8560
+ message:
8561
+ type: string
8562
+ description: A human-readable description of the error.
8563
+ example: Request could not be processed.
8564
+ required:
8565
+ - code
8566
+ - message
8567
+ - type: object
8568
+ properties:
8569
+ code:
8570
+ type: string
8571
+ description: The error code identifying the type of error.
8572
+ example: idp_metadata_fetch_failed
8573
+ const: idp_metadata_fetch_failed
8574
+ message:
8575
+ type: string
8576
+ description: A human-readable description of the error.
8577
+ example: Request could not be processed.
8578
+ required:
8579
+ - code
8580
+ - message
8581
+ - type: object
8582
+ properties:
8583
+ code:
8584
+ type: string
8585
+ description: The error code identifying the type of error.
8586
+ example: connection_could_not_be_verified
8587
+ const: connection_could_not_be_verified
8588
+ message:
8589
+ type: string
8590
+ description: A human-readable description of the error.
8591
+ example: Request could not be processed.
8592
+ required:
8593
+ - code
8594
+ - message
8595
+ summary: Update a Connection
7179
8596
  tags:
7180
8597
  - connections
7181
- /connections/{id}:
8598
+ x-feature-flag: connections-api-migrations-capabilities-api
8599
+ x-mutually-exclusive-body-groups: &ref_10
8600
+ protocol_options:
8601
+ optional: true
8602
+ variants:
8603
+ saml:
8604
+ - saml_options
8605
+ oidc:
8606
+ - oidc_options
7182
8607
  get:
7183
8608
  description: Get the details of an existing connection.
7184
8609
  operationId: ConnectionsController_find
@@ -7419,7 +8844,7 @@ paths:
7419
8844
  Order the results by the creation time. Supported values are `"asc"`
7420
8845
  (ascending), `"desc"` (descending), and `"normal"` (descending with
7421
8846
  reversed cursor semantics where `before` fetches older records and
7422
- `after` fetches newer records).
8847
+ `after` fetches newer records). Defaults to `normal`.
7423
8848
  schema:
7424
8849
  $ref: '#/components/schemas/PaginationOrder'
7425
8850
  responses:
@@ -7860,7 +9285,7 @@ paths:
7860
9285
  installation, keyed by the provider's config field
7861
9286
  descriptors.
7862
9287
  example:
7863
- mydomain: acme
9288
+ salesforce_host: acme.my.salesforce.com
7864
9289
  required:
7865
9290
  - user_id
7866
9291
  - client_id
@@ -8155,7 +9580,7 @@ paths:
8155
9580
  - name: order
8156
9581
  required: false
8157
9582
  in: query
8158
- description: Order the results by the creation time.
9583
+ description: Order the results by the creation time. Defaults to `normal`.
8159
9584
  schema:
8160
9585
  $ref: '#/components/schemas/PaginationOrder'
8161
9586
  - name: organization_id
@@ -8349,7 +9774,7 @@ paths:
8349
9774
  Order the results by the creation time. Supported values are `"asc"`
8350
9775
  (ascending), `"desc"` (descending), and `"normal"` (descending with
8351
9776
  reversed cursor semantics where `before` fetches older records and
8352
- `after` fetches newer records).
9777
+ `after` fetches newer records). Defaults to `normal`.
8353
9778
  schema:
8354
9779
  $ref: '#/components/schemas/PaginationOrder'
8355
9780
  - name: directory
@@ -8517,7 +9942,7 @@ paths:
8517
9942
  Order the results by the creation time. Supported values are `"asc"`
8518
9943
  (ascending), `"desc"` (descending), and `"normal"` (descending with
8519
9944
  reversed cursor semantics where `before` fetches older records and
8520
- `after` fetches newer records).
9945
+ `after` fetches newer records). Defaults to `normal`.
8521
9946
  schema:
8522
9947
  $ref: '#/components/schemas/PaginationOrder'
8523
9948
  - name: directory
@@ -8708,7 +10133,7 @@ paths:
8708
10133
  Order the results by the creation time. Supported values are `"asc"`
8709
10134
  (ascending), `"desc"` (descending), and `"normal"` (descending with
8710
10135
  reversed cursor semantics where `before` fetches older records and
8711
- `after` fetches newer records).
10136
+ `after` fetches newer records). Defaults to `normal`.
8712
10137
  schema:
8713
10138
  $ref: '#/components/schemas/PaginationOrder'
8714
10139
  - name: events
@@ -8843,7 +10268,7 @@ paths:
8843
10268
  - name: order
8844
10269
  required: false
8845
10270
  in: query
8846
- description: Order the results by the creation time.
10271
+ description: Order the results by the creation time. Defaults to `normal`.
8847
10272
  schema:
8848
10273
  $ref: '#/components/schemas/PaginationOrder'
8849
10274
  responses:
@@ -9594,7 +11019,7 @@ paths:
9594
11019
  Order the results by the creation time. Supported values are `"asc"`
9595
11020
  (ascending), `"desc"` (descending), and `"normal"` (descending with
9596
11021
  reversed cursor semantics where `before` fetches older records and
9597
- `after` fetches newer records).
11022
+ `after` fetches newer records). Defaults to `normal`.
9598
11023
  schema:
9599
11024
  $ref: '#/components/schemas/PaginationOrder'
9600
11025
  - name: domains
@@ -10170,7 +11595,7 @@ paths:
10170
11595
  - name: order
10171
11596
  required: false
10172
11597
  in: query
10173
- description: Order the results by the creation time.
11598
+ description: Order the results by the creation time. Defaults to `normal`.
10174
11599
  schema:
10175
11600
  $ref: '#/components/schemas/PaginationOrder'
10176
11601
  responses:
@@ -10447,7 +11872,7 @@ paths:
10447
11872
  - name: order
10448
11873
  required: false
10449
11874
  in: query
10450
- description: Order the results by the creation time.
11875
+ description: Order the results by the creation time. Defaults to `desc`.
10451
11876
  schema:
10452
11877
  $ref: '#/components/schemas/PaginationOrder'
10453
11878
  responses:
@@ -10613,7 +12038,7 @@ paths:
10613
12038
  Order the results by the creation time. Supported values are `"asc"`
10614
12039
  (ascending), `"desc"` (descending), and `"normal"` (descending with
10615
12040
  reversed cursor semantics where `before` fetches older records and
10616
- `after` fetches newer records).
12041
+ `after` fetches newer records). Defaults to `normal`.
10617
12042
  schema:
10618
12043
  $ref: '#/components/schemas/PaginationOrder'
10619
12044
  - name: search
@@ -11012,7 +12437,7 @@ paths:
11012
12437
  Order the results by the creation time. Supported values are `"asc"`
11013
12438
  (ascending), `"desc"` (descending), and `"normal"` (descending with
11014
12439
  reversed cursor semantics where `before` fetches older records and
11015
- `after` fetches newer records).
12440
+ `after` fetches newer records). Defaults to `normal`.
11016
12441
  schema:
11017
12442
  $ref: '#/components/schemas/PaginationOrder'
11018
12443
  responses:
@@ -11167,7 +12592,7 @@ paths:
11167
12592
  Order the results by the creation time. Supported values are `"asc"`
11168
12593
  (ascending), `"desc"` (descending), and `"normal"` (descending with
11169
12594
  reversed cursor semantics where `before` fetches older records and
11170
- `after` fetches newer records).
12595
+ `after` fetches newer records). Defaults to `normal`.
11171
12596
  schema:
11172
12597
  $ref: '#/components/schemas/PaginationOrder'
11173
12598
  responses:
@@ -14262,7 +15687,7 @@ paths:
14262
15687
  Order the results by the creation time. Supported values are `"asc"`
14263
15688
  (ascending), `"desc"` (descending), and `"normal"` (descending with
14264
15689
  reversed cursor semantics where `before` fetches older records and
14265
- `after` fetches newer records).
15690
+ `after` fetches newer records). Defaults to `normal`.
14266
15691
  schema:
14267
15692
  $ref: '#/components/schemas/PaginationOrder'
14268
15693
  responses:
@@ -14413,7 +15838,7 @@ paths:
14413
15838
  Order the results by the creation time. Supported values are `"asc"`
14414
15839
  (ascending), `"desc"` (descending), and `"normal"` (descending with
14415
15840
  reversed cursor semantics where `before` fetches older records and
14416
- `after` fetches newer records).
15841
+ `after` fetches newer records). Defaults to `desc`.
14417
15842
  schema:
14418
15843
  $ref: '#/components/schemas/PaginationOrder'
14419
15844
  - name: organization_id
@@ -15450,7 +16875,7 @@ paths:
15450
16875
  Order the results by the creation time. Supported values are `"asc"`
15451
16876
  (ascending), `"desc"` (descending), and `"normal"` (descending with
15452
16877
  reversed cursor semantics where `before` fetches older records and
15453
- `after` fetches newer records).
16878
+ `after` fetches newer records). Defaults to `desc`.
15454
16879
  schema:
15455
16880
  $ref: '#/components/schemas/PaginationOrder'
15456
16881
  - name: organization_id
@@ -15777,7 +17202,7 @@ paths:
15777
17202
  summary: Create an organization membership
15778
17203
  tags:
15779
17204
  - user-management.organization-membership
15780
- x-mutually-exclusive-body-groups: &ref_10
17205
+ x-mutually-exclusive-body-groups: &ref_14
15781
17206
  role:
15782
17207
  optional: true
15783
17208
  variants:
@@ -15961,7 +17386,7 @@ paths:
15961
17386
  summary: Update an organization membership
15962
17387
  tags:
15963
17388
  - user-management.organization-membership
15964
- x-mutually-exclusive-body-groups: &ref_11
17389
+ x-mutually-exclusive-body-groups: &ref_15
15965
17390
  role:
15966
17391
  optional: true
15967
17392
  variants:
@@ -16296,7 +17721,7 @@ paths:
16296
17721
  Order the results by the creation time. Supported values are `"asc"`
16297
17722
  (ascending), `"desc"` (descending), and `"normal"` (descending with
16298
17723
  reversed cursor semantics where `before` fetches older records and
16299
- `after` fetches newer records).
17724
+ `after` fetches newer records). Defaults to `normal`.
16300
17725
  schema:
16301
17726
  $ref: '#/components/schemas/PaginationOrder'
16302
17727
  responses:
@@ -16760,7 +18185,7 @@ paths:
16760
18185
  Order the results by the creation time. Supported values are `"asc"`
16761
18186
  (ascending), `"desc"` (descending), and `"normal"` (descending with
16762
18187
  reversed cursor semantics where `before` fetches older records and
16763
- `after` fetches newer records).
18188
+ `after` fetches newer records). Defaults to `normal`.
16764
18189
  schema:
16765
18190
  $ref: '#/components/schemas/PaginationOrder'
16766
18191
  responses:
@@ -17024,7 +18449,7 @@ paths:
17024
18449
  Order the results by the creation time. Supported values are `"asc"`
17025
18450
  (ascending), `"desc"` (descending), and `"normal"` (descending with
17026
18451
  reversed cursor semantics where `before` fetches older records and
17027
- `after` fetches newer records).
18452
+ `after` fetches newer records). Defaults to `desc`.
17028
18453
  schema:
17029
18454
  $ref: '#/components/schemas/PaginationOrder'
17030
18455
  - name: organization
@@ -17281,7 +18706,7 @@ paths:
17281
18706
  summary: Create a user
17282
18707
  tags:
17283
18708
  - user-management.users
17284
- x-mutually-exclusive-body-groups: &ref_12
18709
+ x-mutually-exclusive-body-groups: &ref_16
17285
18710
  password:
17286
18711
  optional: true
17287
18712
  variants:
@@ -17574,7 +18999,7 @@ paths:
17574
18999
  summary: Update a user
17575
19000
  tags:
17576
19001
  - user-management.users
17577
- x-mutually-exclusive-body-groups: &ref_16
19002
+ x-mutually-exclusive-body-groups: &ref_20
17578
19003
  password:
17579
19004
  optional: true
17580
19005
  variants:
@@ -18421,7 +19846,7 @@ paths:
18421
19846
  Order the results by the creation time. Supported values are `"asc"`
18422
19847
  (ascending), `"desc"` (descending), and `"normal"` (descending with
18423
19848
  reversed cursor semantics where `before` fetches older records and
18424
- `after` fetches newer records).
19849
+ `after` fetches newer records). Defaults to `desc`.
18425
19850
  schema:
18426
19851
  $ref: '#/components/schemas/PaginationOrder'
18427
19852
  responses:
@@ -18672,7 +20097,7 @@ paths:
18672
20097
  - name: order
18673
20098
  required: false
18674
20099
  in: query
18675
- description: Order the results by the creation time.
20100
+ description: Order the results by the creation time. Defaults to `normal`.
18676
20101
  schema:
18677
20102
  $ref: '#/components/schemas/PaginationOrder'
18678
20103
  - name: organization_id
@@ -18844,7 +20269,7 @@ paths:
18844
20269
  - name: order
18845
20270
  required: false
18846
20271
  in: query
18847
- description: Order the results by the creation time.
20272
+ description: Order the results by the creation time. Defaults to `desc`.
18848
20273
  schema:
18849
20274
  $ref: '#/components/schemas/PaginationOrder'
18850
20275
  responses:
@@ -18925,7 +20350,7 @@ paths:
18925
20350
  Order the results by the creation time. Supported values are `"asc"`
18926
20351
  (ascending), `"desc"` (descending), and `"normal"` (descending with
18927
20352
  reversed cursor semantics where `before` fetches older records and
18928
- `after` fetches newer records).
20353
+ `after` fetches newer records). Defaults to `normal`.
18929
20354
  schema:
18930
20355
  $ref: '#/components/schemas/PaginationOrder'
18931
20356
  responses:
@@ -19411,7 +20836,7 @@ paths:
19411
20836
  - name: order
19412
20837
  required: false
19413
20838
  in: query
19414
- description: Order the results by the creation time.
20839
+ description: Order the results by the creation time. Defaults to `normal`.
19415
20840
  schema:
19416
20841
  $ref: '#/components/schemas/PaginationOrder'
19417
20842
  responses:
@@ -19440,8 +20865,11 @@ paths:
19440
20865
  /user_management/waitlist_entries/{id}:
19441
20866
  delete:
19442
20867
  description: >-
19443
- Removes the entry from the waitlist. An invitation created by approving
19444
- the entry stays valid, so revoke that invitation to withdraw access.
20868
+ Remove the entry from the waitlist. Its email address can join again
20869
+ unless a user with that email now exists in the environment. Deleting
20870
+ the entry does not revoke an invitation created by approving it —
20871
+ [revoke that invitation](/reference/authkit/invitation/revoke)
20872
+ separately to withdraw access.
19445
20873
  operationId: WaitlistEntriesController_delete
19446
20874
  parameters:
19447
20875
  - name: id
@@ -19473,8 +20901,20 @@ paths:
19473
20901
  /user_management/waitlist_entries/{id}/approve:
19474
20902
  post:
19475
20903
  description: >-
19476
- Approve a waitlist entry and send the resulting user invitation email.
19477
- Also reverses a denial: a denied entry can be approved.
20904
+ Approve a waitlist entry, create an invitation for its email address,
20905
+ and send the invitation email. Approving a denied entry reverses the
20906
+ denial. The approval is saved even when the invitation steps fail, so
20907
+ instead of retrying the approval, recover based on the outcome:
20908
+
20909
+
20910
+ - `200` — the entry is approved. If invitation creation failed, no
20911
+ invitation exists yet; [send](/reference/authkit/invitation/send) one.
20912
+
20913
+ - `422` with code `invitation_email_not_sent` — the entry is approved
20914
+ and an invitation exists, but its email was not sent;
20915
+ [resend](/reference/authkit/invitation/resend) it.
20916
+
20917
+ - `422` with code `invalid_state` — the entry was already approved.
19478
20918
  operationId: WaitlistEntriesController_approve
19479
20919
  parameters:
19480
20920
  - name: id
@@ -19610,8 +21050,9 @@ paths:
19610
21050
  /user_management/waitlist_entries/{id}/deny:
19611
21051
  post:
19612
21052
  description: >-
19613
- Deny a pending waitlist entry. A denial can be reversed by approving the
19614
- entry.
21053
+ Deny a pending waitlist entry. Denying an entry that is not pending
21054
+ fails with the code `invalid_state`. A denial can be reversed by
21055
+ approving the entry.
19615
21056
  operationId: WaitlistEntriesController_deny
19616
21057
  parameters:
19617
21058
  - name: id
@@ -19730,7 +21171,10 @@ paths:
19730
21171
  - user-management.waitlists
19731
21172
  /user_management/waitlists:
19732
21173
  get:
19733
- description: Get a list of the waitlists in the environment.
21174
+ description: >-
21175
+ Get a list of the waitlists in the environment. All waitlists are
21176
+ returned in a single response — this endpoint is not paginated, so the
21177
+ `list_metadata` cursors are always `null`.
19734
21178
  operationId: WaitlistsController_list
19735
21179
  parameters: []
19736
21180
  responses:
@@ -19794,7 +21238,9 @@ paths:
19794
21238
  in: path
19795
21239
  description: >-
19796
21240
  The unique ID of the waitlist, or the literal `default` for the
19797
- environment's default waitlist.
21241
+ environment's default waitlist. The default waitlist is created when
21242
+ its first entry is added, so read requests for `default` return a
21243
+ `404` until then.
19798
21244
  schema:
19799
21245
  type: string
19800
21246
  example: waitlist_01E4ZCR3C56J083X43JQXF3JK5
@@ -19831,7 +21277,9 @@ paths:
19831
21277
  in: path
19832
21278
  description: >-
19833
21279
  The unique ID of the waitlist, or the literal `default` for the
19834
- environment's default waitlist.
21280
+ environment's default waitlist. The default waitlist is created when
21281
+ its first entry is added, so read requests for `default` return a
21282
+ `404` until then.
19835
21283
  schema:
19836
21284
  type: string
19837
21285
  example: waitlist_01E4ZCR3C56J083X43JQXF3JK5
@@ -19878,7 +21326,7 @@ paths:
19878
21326
  Order the results by the creation time. Supported values are `"asc"`
19879
21327
  (ascending), `"desc"` (descending), and `"normal"` (descending with
19880
21328
  reversed cursor semantics where `before` fetches older records and
19881
- `after` fetches newer records).
21329
+ `after` fetches newer records). Defaults to `normal`.
19882
21330
  schema:
19883
21331
  $ref: '#/components/schemas/PaginationOrder'
19884
21332
  - name: state
@@ -19983,9 +21431,12 @@ paths:
19983
21431
  - user-management.waitlists
19984
21432
  post:
19985
21433
  description: >-
19986
- Add an email address to the waitlist. Creating an entry is idempotent
19987
- per email address: a request for an email address already on the
19988
- waitlist returns the existing entry.
21434
+ Add an email address to the waitlist. Email addresses are normalized and
21435
+ unique per environment: a request for an email address already on the
21436
+ waitlist returns the existing entry unchanged (still with status `201`)
21437
+ and does not send another confirmation email. If a user with the email
21438
+ address already exists in the environment, the request fails with the
21439
+ code `user_already_exists`.
19989
21440
  operationId: WaitlistsController_createEntry
19990
21441
  parameters:
19991
21442
  - name: id
@@ -19993,10 +21444,11 @@ paths:
19993
21444
  in: path
19994
21445
  description: >-
19995
21446
  The unique ID of the waitlist, or the literal `default` for the
19996
- environment's default waitlist.
21447
+ environment's default waitlist. Use `default` when adding the first
21448
+ entry — the default waitlist is created automatically.
19997
21449
  schema:
19998
21450
  type: string
19999
- example: waitlist_01E4ZCR3C56J083X43JQXF3JK5
21451
+ example: default
20000
21452
  requestBody:
20001
21453
  required: true
20002
21454
  content:
@@ -20535,7 +21987,7 @@ paths:
20535
21987
  Order the results by the creation time. Supported values are `"asc"`
20536
21988
  (ascending), `"desc"` (descending), and `"normal"` (descending with
20537
21989
  reversed cursor semantics where `before` fetches older records and
20538
- `after` fetches newer records).
21990
+ `after` fetches newer records). Defaults to `normal`.
20539
21991
  schema:
20540
21992
  $ref: '#/components/schemas/PaginationOrder'
20541
21993
  responses:
@@ -21140,7 +22592,6 @@ components:
21140
22592
  - desc
21141
22593
  - asc
21142
22594
  example: desc
21143
- default: desc
21144
22595
  RedirectUriDto:
21145
22596
  type: object
21146
22597
  properties:
@@ -22151,6 +23602,525 @@ components:
22151
23602
  required:
22152
23603
  - parent_resource_id
22153
23604
  x-mutually-exclusive-body-groups: *ref_6
23605
+ CreateConnectionKeyPairDto:
23606
+ type: object
23607
+ properties:
23608
+ key:
23609
+ type: string
23610
+ description: The PEM-encoded private key.
23611
+ example: |-
23612
+ -----BEGIN PRIVATE KEY-----
23613
+ MIIE...
23614
+ -----END PRIVATE KEY-----
23615
+ cert:
23616
+ type: string
23617
+ description: The PEM-encoded X.509 certificate for the key.
23618
+ example: |-
23619
+ -----BEGIN CERTIFICATE-----
23620
+ MIIC...
23621
+ -----END CERTIFICATE-----
23622
+ required:
23623
+ - key
23624
+ - cert
23625
+ CreateConnectionSamlOptionsDto:
23626
+ type: object
23627
+ properties:
23628
+ idp_metadata_url:
23629
+ type: string
23630
+ format: uri
23631
+ description: >-
23632
+ The Identity Provider metadata URL. When provided, the IdP fields
23633
+ and signing certificates are imported from the metadata document.
23634
+ Mutually exclusive with the manual IdP fields.
23635
+ example: https://idp.example.com/metadata.xml
23636
+ acs_url:
23637
+ type: string
23638
+ format: uri
23639
+ description: >-
23640
+ A custom Assertion Consumer Service (ACS) URL override. When
23641
+ omitted, the standard WorkOS-generated ACS URL is used.
23642
+ example: https://example.auth0.com/login/callback?connection=123
23643
+ sp_entity_id:
23644
+ type: string
23645
+ description: >-
23646
+ A custom Service Provider Entity ID (audience) override. When
23647
+ omitted, the connection external key is used.
23648
+ example: https://example.auth0.com/login/callback?connection=123
23649
+ idp_entity_id:
23650
+ type: string
23651
+ description: The Identity Provider Entity ID.
23652
+ example: https://idp.example.com/entity
23653
+ idp_sso_url:
23654
+ type: string
23655
+ format: uri
23656
+ description: >-
23657
+ The Identity Provider SSO URL. Required when configuring the
23658
+ connection with manual IdP fields.
23659
+ example: https://idp.example.com/sso
23660
+ idp_signing_certs:
23661
+ description: >-
23662
+ The X.509 certificates used to verify signed SAML responses from the
23663
+ Identity Provider. Required when configuring the connection with
23664
+ manual IdP fields.
23665
+ example:
23666
+ - |-
23667
+ -----BEGIN CERTIFICATE-----
23668
+ MIIC...
23669
+ -----END CERTIFICATE-----
23670
+ type: array
23671
+ items:
23672
+ type: string
23673
+ sp_signing_key_pair:
23674
+ description: >-
23675
+ The customer-owned key pair used to sign SAML requests sent to the
23676
+ Identity Provider. When omitted, WorkOS generates and manages the
23677
+ signing key pair.
23678
+ $ref: '#/components/schemas/CreateConnectionKeyPairDto'
23679
+ sp_encryption_key_pairs:
23680
+ description: >-
23681
+ The customer-owned key pairs used to decrypt encrypted SAML
23682
+ responses from the Identity Provider. When omitted, WorkOS generates
23683
+ and manages the encryption key pair.
23684
+ type: array
23685
+ items:
23686
+ $ref: '#/components/schemas/CreateConnectionKeyPairDto'
23687
+ CreateConnectionOidcOptionsDto:
23688
+ type: object
23689
+ properties:
23690
+ discovery_endpoint:
23691
+ type: string
23692
+ format: uri
23693
+ description: The OIDC discovery endpoint.
23694
+ example: https://idp.example.com/.well-known/openid-configuration
23695
+ client_id:
23696
+ type: string
23697
+ description: The OIDC client ID.
23698
+ example: client_123
23699
+ client_secret:
23700
+ type: string
23701
+ description: >-
23702
+ The OIDC client secret. Required for `client_secret_basic` and
23703
+ `client_secret_post`, and rejected for `private_key_jwt`, which
23704
+ authenticates with a key pair instead. This value is write-only and
23705
+ is never returned.
23706
+ example: secret_xyz
23707
+ redirect_uri:
23708
+ type: string
23709
+ format: uri
23710
+ description: >-
23711
+ A custom OAuth callback URL override. When omitted, the standard
23712
+ WorkOS-generated redirect URI is used.
23713
+ example: https://auth.workos.com/sso/oidc/conn_externalkey/callback
23714
+ pkce:
23715
+ type: boolean
23716
+ description: Whether PKCE is enabled for the connection.
23717
+ example: true
23718
+ default: true
23719
+ token_authentication_method:
23720
+ type: string
23721
+ enum: &ref_8
23722
+ - client_secret_post
23723
+ - client_secret_basic
23724
+ - private_key_jwt
23725
+ description: The token-endpoint client authentication method.
23726
+ example: client_secret_basic
23727
+ default: client_secret_basic
23728
+ jwt_signing_key_pair:
23729
+ description: >-
23730
+ A key pair for WorkOS to sign `private_key_jwt` client assertions
23731
+ with. Only accepted when `token_authentication_method` is
23732
+ `private_key_jwt`; when omitted, WorkOS generates one and returns
23733
+ its certificate in `oidc_options.jwt_signing_certs`.
23734
+ $ref: '#/components/schemas/CreateConnectionKeyPairDto'
23735
+ id_token_signature_algorithm:
23736
+ type: string
23737
+ enum: &ref_9
23738
+ - ES256
23739
+ - ES384
23740
+ - ES512
23741
+ - EdDSA
23742
+ - HS256
23743
+ - HS384
23744
+ - HS512
23745
+ - PS256
23746
+ - PS384
23747
+ - PS512
23748
+ - RS256
23749
+ - RS384
23750
+ - RS512
23751
+ description: The ID-token signing algorithm.
23752
+ example: RS256
23753
+ fetch_user_info:
23754
+ type: boolean
23755
+ description: >-
23756
+ Whether to fetch additional profile attributes from the userinfo
23757
+ endpoint.
23758
+ example: false
23759
+ required:
23760
+ - discovery_endpoint
23761
+ - client_id
23762
+ CreateConnectionStandardAttributesDto:
23763
+ type: object
23764
+ properties:
23765
+ idp_id:
23766
+ type: string
23767
+ description: >-
23768
+ The IdP attribute or claim the profile's `idp_id` is mapped from.
23769
+ When omitted, the default for the connection type is used.
23770
+ example: sub
23771
+ email:
23772
+ type: string
23773
+ description: >-
23774
+ The IdP attribute or claim the profile's `email` is mapped from.
23775
+ When omitted, the default for the connection type is used.
23776
+ example: email
23777
+ first_name:
23778
+ type: string
23779
+ description: >-
23780
+ The IdP attribute or claim the profile's `first_name` is mapped
23781
+ from. When omitted, the default for the connection type is used.
23782
+ example: given_name
23783
+ last_name:
23784
+ type: string
23785
+ description: >-
23786
+ The IdP attribute or claim the profile's `last_name` is mapped from.
23787
+ When omitted, the default for the connection type is used.
23788
+ example: family_name
23789
+ groups:
23790
+ type:
23791
+ - string
23792
+ - 'null'
23793
+ description: >-
23794
+ The IdP attribute or claim the profile's `groups` are mapped from.
23795
+ `null` leaves the mapping unset.
23796
+ example: memberOf
23797
+ name:
23798
+ type:
23799
+ - string
23800
+ - 'null'
23801
+ description: >-
23802
+ The IdP attribute or claim the profile's `name` is mapped from.
23803
+ `null` leaves the mapping unset.
23804
+ example: displayName
23805
+ CreateConnectionAttributeMapsDto:
23806
+ type: object
23807
+ properties:
23808
+ standard_attributes:
23809
+ description: >-
23810
+ How IdP attributes or claims map onto the standard WorkOS profile
23811
+ fields. Provided fields override the defaults for the connection
23812
+ type.
23813
+ $ref: '#/components/schemas/CreateConnectionStandardAttributesDto'
23814
+ custom_attributes:
23815
+ type: object
23816
+ description: >-
23817
+ How IdP attributes or claims map onto custom attributes, keyed by
23818
+ custom attribute name. Custom attributes must already be defined in
23819
+ the WorkOS dashboard.
23820
+ additionalProperties:
23821
+ type: string
23822
+ example:
23823
+ company: company_claim
23824
+ CreateConnectionDto:
23825
+ allOf:
23826
+ - type: object
23827
+ properties:
23828
+ organization_id:
23829
+ type: string
23830
+ description: >-
23831
+ Unique identifier for the Organization in which the Connection
23832
+ resides.
23833
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
23834
+ name:
23835
+ type: string
23836
+ description: >-
23837
+ A human-readable name for the Connection. This will most
23838
+ commonly be the organization's name.
23839
+ example: Foo Corp
23840
+ external_id:
23841
+ type: string
23842
+ maxLength: 128
23843
+ pattern: ^[\x00-\x7F]+$
23844
+ description: The customer-owned identifier for the Connection.
23845
+ example: acme-legacy-conn-42
23846
+ connection_type:
23847
+ type: string
23848
+ description: >-
23849
+ The type of the Connection. Only SAML and OIDC connection types
23850
+ may be created. When omitted, the type is inferred from the
23851
+ provided options.
23852
+ example: OktaSAML
23853
+ attribute_maps:
23854
+ description: >-
23855
+ How IdP attributes or claims map onto WorkOS profile fields.
23856
+ Provided fields override the defaults for the connection type.
23857
+ $ref: '#/components/schemas/CreateConnectionAttributeMapsDto'
23858
+ required:
23859
+ - organization_id
23860
+ - oneOf:
23861
+ - type: object
23862
+ properties:
23863
+ saml_options:
23864
+ description: >-
23865
+ Protocol configuration for SAML connections. Mutually
23866
+ exclusive with `oidc_options`.
23867
+ $ref: '#/components/schemas/CreateConnectionSamlOptionsDto'
23868
+ required:
23869
+ - saml_options
23870
+ not:
23871
+ anyOf:
23872
+ - properties:
23873
+ oidc_options:
23874
+ x-exclude-from-lint: true
23875
+ required:
23876
+ - oidc_options
23877
+ - type: object
23878
+ properties:
23879
+ oidc_options:
23880
+ description: >-
23881
+ Protocol configuration for OIDC connections. Mutually
23882
+ exclusive with `saml_options`.
23883
+ $ref: '#/components/schemas/CreateConnectionOidcOptionsDto'
23884
+ required:
23885
+ - oidc_options
23886
+ not:
23887
+ anyOf:
23888
+ - properties:
23889
+ saml_options:
23890
+ x-exclude-from-lint: true
23891
+ required:
23892
+ - saml_options
23893
+ x-mutually-exclusive-body-groups: *ref_7
23894
+ PatchConnectionSamlOptionsDto:
23895
+ type: object
23896
+ properties:
23897
+ idp_metadata_url:
23898
+ type:
23899
+ - string
23900
+ - 'null'
23901
+ format: uri
23902
+ description: >-
23903
+ The Identity Provider metadata URL. When provided, the IdP fields
23904
+ and signing certificates are re-imported from the metadata document,
23905
+ replacing the current set. Mutually exclusive with the manual IdP
23906
+ fields. Set to `null` to stop tracking a metadata URL.
23907
+ example: https://idp.example.com/metadata.xml
23908
+ acs_url:
23909
+ type:
23910
+ - string
23911
+ - 'null'
23912
+ format: uri
23913
+ description: >-
23914
+ A custom Assertion Consumer Service (ACS) URL override. Set to
23915
+ `null` to revert to the standard WorkOS-generated ACS URL.
23916
+ example: https://example.auth0.com/login/callback?connection=123
23917
+ sp_entity_id:
23918
+ type:
23919
+ - string
23920
+ - 'null'
23921
+ description: >-
23922
+ A custom Service Provider Entity ID (audience) override. Set to
23923
+ `null` to revert to the connection external key.
23924
+ example: https://example.auth0.com/login/callback?connection=123
23925
+ idp_entity_id:
23926
+ type: string
23927
+ description: The Identity Provider Entity ID.
23928
+ example: https://idp.example.com/entity
23929
+ idp_sso_url:
23930
+ type: string
23931
+ format: uri
23932
+ description: The Identity Provider SSO URL.
23933
+ example: https://idp.example.com/sso
23934
+ PatchConnectionOidcOptionsDto:
23935
+ type: object
23936
+ properties:
23937
+ discovery_endpoint:
23938
+ type: string
23939
+ format: uri
23940
+ description: The OIDC discovery endpoint.
23941
+ example: https://idp.example.com/.well-known/openid-configuration
23942
+ client_id:
23943
+ type: string
23944
+ description: The OIDC client ID.
23945
+ example: client_123
23946
+ client_secret:
23947
+ type: string
23948
+ description: >-
23949
+ The OIDC client secret. Required when moving the connection to
23950
+ `client_secret_basic` or `client_secret_post`, and rejected for
23951
+ `private_key_jwt`, which authenticates with a key pair instead. This
23952
+ value is write-only and is never returned.
23953
+ example: secret_xyz
23954
+ redirect_uri:
23955
+ type:
23956
+ - string
23957
+ - 'null'
23958
+ format: uri
23959
+ description: >-
23960
+ A custom OAuth callback URL override. Set to `null` to revert to the
23961
+ standard WorkOS-generated redirect URI.
23962
+ example: https://auth.workos.com/sso/oidc/conn_externalkey/callback
23963
+ pkce:
23964
+ type: boolean
23965
+ description: Whether PKCE is enabled for the connection.
23966
+ example: true
23967
+ token_authentication_method:
23968
+ type: string
23969
+ enum: *ref_8
23970
+ description: >-
23971
+ The token-endpoint client authentication method. Moving to
23972
+ `private_key_jwt` generates a signing key pair if the connection has
23973
+ none; its certificate is returned in
23974
+ `oidc_options.jwt_signing_certs` and must be registered at the
23975
+ Identity Provider.
23976
+ example: client_secret_basic
23977
+ id_token_signature_algorithm:
23978
+ type: string
23979
+ enum: *ref_9
23980
+ description: The ID-token signing algorithm.
23981
+ example: RS256
23982
+ fetch_user_info:
23983
+ type: boolean
23984
+ description: >-
23985
+ Whether to fetch additional profile attributes from the userinfo
23986
+ endpoint.
23987
+ example: false
23988
+ PatchConnectionStandardAttributesDto:
23989
+ type: object
23990
+ properties:
23991
+ idp_id:
23992
+ type: string
23993
+ description: The IdP attribute or claim the profile's `idp_id` is mapped from.
23994
+ example: sub
23995
+ email:
23996
+ type: string
23997
+ description: The IdP attribute or claim the profile's `email` is mapped from.
23998
+ example: email
23999
+ first_name:
24000
+ type: string
24001
+ description: >-
24002
+ The IdP attribute or claim the profile's `first_name` is mapped
24003
+ from.
24004
+ example: given_name
24005
+ last_name:
24006
+ type: string
24007
+ description: The IdP attribute or claim the profile's `last_name` is mapped from.
24008
+ example: family_name
24009
+ groups:
24010
+ type:
24011
+ - string
24012
+ - 'null'
24013
+ description: >-
24014
+ The IdP attribute or claim the profile's `groups` are mapped from.
24015
+ Set to `null` to unset the mapping.
24016
+ example: memberOf
24017
+ name:
24018
+ type:
24019
+ - string
24020
+ - 'null'
24021
+ description: >-
24022
+ The IdP attribute or claim the profile's `name` is mapped from. Set
24023
+ to `null` to unset the mapping.
24024
+ example: displayName
24025
+ PatchConnectionAttributeMapsDto:
24026
+ type: object
24027
+ properties:
24028
+ standard_attributes:
24029
+ description: >-
24030
+ How IdP attributes or claims map onto the standard WorkOS profile
24031
+ fields. Only the provided fields are updated.
24032
+ $ref: '#/components/schemas/PatchConnectionStandardAttributesDto'
24033
+ custom_attributes:
24034
+ type: object
24035
+ description: >-
24036
+ How IdP attributes or claims map onto custom attributes, keyed by
24037
+ custom attribute name. Custom attributes must already be defined in
24038
+ the WorkOS dashboard. Only the provided keys are updated; a `null`
24039
+ value unsets that mapping.
24040
+ additionalProperties:
24041
+ oneOf:
24042
+ - type: string
24043
+ - type: 'null'
24044
+ example:
24045
+ company: company_claim
24046
+ PatchConnectionDto:
24047
+ allOf:
24048
+ - type: object
24049
+ properties:
24050
+ name:
24051
+ type: string
24052
+ description: A human-readable name for the Connection.
24053
+ example: Foo Corp
24054
+ external_id:
24055
+ type:
24056
+ - string
24057
+ - 'null'
24058
+ maxLength: 128
24059
+ pattern: ^[\x00-\x7F]+$
24060
+ description: >-
24061
+ The customer-owned identifier for the Connection. Set to `null`
24062
+ to stop tracking one.
24063
+ example: acme-legacy-conn-42
24064
+ connection_type:
24065
+ type: string
24066
+ description: >-
24067
+ The type of the Connection. Immutable after creation — it may be
24068
+ sent, but only with the Connection current type.
24069
+ example: OktaSAML
24070
+ attribute_maps:
24071
+ description: >-
24072
+ How IdP attributes or claims map onto WorkOS profile fields.
24073
+ Only the provided fields are updated.
24074
+ $ref: '#/components/schemas/PatchConnectionAttributeMapsDto'
24075
+ - oneOf:
24076
+ - type: object
24077
+ not:
24078
+ anyOf:
24079
+ - properties:
24080
+ saml_options:
24081
+ x-exclude-from-lint: true
24082
+ required:
24083
+ - saml_options
24084
+ - properties:
24085
+ oidc_options:
24086
+ x-exclude-from-lint: true
24087
+ required:
24088
+ - oidc_options
24089
+ - type: object
24090
+ properties:
24091
+ saml_options:
24092
+ description: >-
24093
+ Protocol configuration for SAML connections. Only the
24094
+ provided fields are updated. Mutually exclusive with
24095
+ `oidc_options`.
24096
+ $ref: '#/components/schemas/PatchConnectionSamlOptionsDto'
24097
+ required:
24098
+ - saml_options
24099
+ not:
24100
+ anyOf:
24101
+ - properties:
24102
+ oidc_options:
24103
+ x-exclude-from-lint: true
24104
+ required:
24105
+ - oidc_options
24106
+ - type: object
24107
+ properties:
24108
+ oidc_options:
24109
+ description: >-
24110
+ Protocol configuration for OIDC connections. Only the
24111
+ provided fields are updated. Mutually exclusive with
24112
+ `saml_options`.
24113
+ $ref: '#/components/schemas/PatchConnectionOidcOptionsDto'
24114
+ required:
24115
+ - oidc_options
24116
+ not:
24117
+ anyOf:
24118
+ - properties:
24119
+ saml_options:
24120
+ x-exclude-from-lint: true
24121
+ required:
24122
+ - saml_options
24123
+ x-mutually-exclusive-body-groups: *ref_10
22154
24124
  CreateCorsOriginDto:
22155
24125
  type: object
22156
24126
  properties:
@@ -22332,11 +24302,11 @@ components:
22332
24302
  type:
22333
24303
  - object
22334
24304
  - 'null'
22335
- additionalProperties: &ref_7
24305
+ additionalProperties: &ref_11
22336
24306
  type: string
22337
24307
  maxLength: 600
22338
24308
  maxProperties: 50
22339
- example: &ref_8
24309
+ example: &ref_12
22340
24310
  tier: diamond
22341
24311
  description: >-
22342
24312
  Object containing [metadata](/authkit/metadata) key/value pairs
@@ -22391,9 +24361,9 @@ components:
22391
24361
  type:
22392
24362
  - object
22393
24363
  - 'null'
22394
- additionalProperties: *ref_7
24364
+ additionalProperties: *ref_11
22395
24365
  maxProperties: 50
22396
- example: *ref_8
24366
+ example: *ref_12
22397
24367
  description: >-
22398
24368
  Object containing [metadata](/authkit/metadata) key/value pairs
22399
24369
  associated with the Organization.
@@ -22467,14 +24437,19 @@ components:
22467
24437
  format: uri
22468
24438
  description: >-
22469
24439
  The provider's OAuth authorization endpoint. Required for OAuth
22470
- providers; omit for `api_key` providers.
24440
+ providers; omit for `api_key` providers. Must be a static URL:
24441
+ `${config.…}` placeholders are resolved against a provider's
24442
+ declared config fields, which custom providers cannot declare.
22471
24443
  example: https://provider.example.com/oauth/authorize
22472
24444
  token_url:
22473
24445
  type: string
22474
24446
  format: uri
22475
24447
  description: >-
22476
- The provider's OAuth token endpoint. Required for OAuth providers;
22477
- omit for `api_key` providers.
24448
+ The provider's OAuth token endpoint. Required for OAuth and
24449
+ `client_credentials` providers; omit for `api_key` providers. Must
24450
+ be a static URL: `${config.…}` placeholders are resolved against a
24451
+ provider's declared config fields, which custom providers cannot
24452
+ declare.
22478
24453
  example: https://provider.example.com/oauth/token
22479
24454
  refresh_token_url:
22480
24455
  type:
@@ -22483,7 +24458,7 @@ components:
22483
24458
  format: uri
22484
24459
  description: >-
22485
24460
  The endpoint used to refresh tokens, if different from the token
22486
- endpoint.
24461
+ endpoint. Must be a static URL, like the other endpoints.
22487
24462
  example: https://provider.example.com/oauth/token
22488
24463
  pkce_enabled:
22489
24464
  type: boolean
@@ -22522,7 +24497,7 @@ components:
22522
24497
  example: application/x-www-form-urlencoded
22523
24498
  authenticate_via:
22524
24499
  type: string
22525
- enum: &ref_9
24500
+ enum: &ref_13
22526
24501
  - request_body
22527
24502
  - basic_auth_header
22528
24503
  description: >-
@@ -22623,12 +24598,18 @@ components:
22623
24598
  authorization_url:
22624
24599
  type: string
22625
24600
  format: uri
22626
- description: The provider's OAuth authorization endpoint.
24601
+ description: >-
24602
+ The provider's OAuth authorization endpoint. Must be a static URL:
24603
+ `${config.…}` placeholders are resolved against a provider's
24604
+ declared config fields, which custom providers cannot declare.
22627
24605
  example: https://provider.example.com/oauth/authorize
22628
24606
  token_url:
22629
24607
  type: string
22630
24608
  format: uri
22631
- description: The provider's OAuth token endpoint.
24609
+ description: >-
24610
+ The provider's OAuth token endpoint. Must be a static URL:
24611
+ `${config.…}` placeholders are resolved against a provider's
24612
+ declared config fields, which custom providers cannot declare.
22632
24613
  example: https://provider.example.com/oauth/token
22633
24614
  refresh_token_url:
22634
24615
  type:
@@ -22637,7 +24618,7 @@ components:
22637
24618
  format: uri
22638
24619
  description: >-
22639
24620
  The endpoint used to refresh tokens, if different from the token
22640
- endpoint.
24621
+ endpoint. Must be a static URL, like the other endpoints.
22641
24622
  example: https://provider.example.com/oauth/token
22642
24623
  pkce_enabled:
22643
24624
  type: boolean
@@ -22672,7 +24653,7 @@ components:
22672
24653
  example: application/x-www-form-urlencoded
22673
24654
  authenticate_via:
22674
24655
  type: string
22675
- enum: *ref_9
24656
+ enum: *ref_13
22676
24657
  description: >-
22677
24658
  How client credentials are sent when exchanging authorization codes
22678
24659
  and refreshing tokens.
@@ -22848,6 +24829,15 @@ components:
22848
24829
  example: https://example.com/callback
22849
24830
  required:
22850
24831
  - uri
24832
+ CreateSamlIdpSigningCertificateDto:
24833
+ type: object
24834
+ properties:
24835
+ value:
24836
+ type: string
24837
+ description: The PEM-encoded X.509 certificate.
24838
+ example: '-----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----'
24839
+ required:
24840
+ - value
22851
24841
  CreateTeamDto:
22852
24842
  type: object
22853
24843
  properties:
@@ -23228,9 +25218,9 @@ components:
23228
25218
  x-exclude-from-lint: true
23229
25219
  required:
23230
25220
  - role_slug
23231
- x-mutually-exclusive-body-groups: *ref_10
25221
+ x-mutually-exclusive-body-groups: *ref_14
23232
25222
  UpdateUserlandUserOrganizationMembershipDto:
23233
- x-mutually-exclusive-body-groups: *ref_11
25223
+ x-mutually-exclusive-body-groups: *ref_15
23234
25224
  oneOf:
23235
25225
  - type: object
23236
25226
  not:
@@ -23352,9 +25342,9 @@ components:
23352
25342
  type:
23353
25343
  - object
23354
25344
  - 'null'
23355
- additionalProperties: *ref_7
25345
+ additionalProperties: *ref_11
23356
25346
  maxProperties: 50
23357
- example: &ref_13
25347
+ example: &ref_17
23358
25348
  timezone: America/New_York
23359
25349
  description: >-
23360
25350
  Object containing metadata key/value pairs associated with the
@@ -23453,7 +25443,7 @@ components:
23453
25443
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
23454
25444
  password_hash_type:
23455
25445
  type: string
23456
- enum: &ref_14
25446
+ enum: &ref_18
23457
25447
  - bcrypt
23458
25448
  - firebase-scrypt
23459
25449
  - ssha
@@ -23468,7 +25458,7 @@ components:
23468
25458
  example: bcrypt
23469
25459
  password_salt_position:
23470
25460
  type: string
23471
- enum: &ref_15
25461
+ enum: &ref_19
23472
25462
  - prefix
23473
25463
  - suffix
23474
25464
  description: >-
@@ -23489,7 +25479,7 @@ components:
23489
25479
  x-exclude-from-lint: true
23490
25480
  required:
23491
25481
  - password
23492
- x-mutually-exclusive-body-groups: *ref_12
25482
+ x-mutually-exclusive-body-groups: *ref_16
23493
25483
  UpdateUserlandUserDto:
23494
25484
  allOf:
23495
25485
  - type: object
@@ -23519,9 +25509,9 @@ components:
23519
25509
  type:
23520
25510
  - object
23521
25511
  - 'null'
23522
- additionalProperties: *ref_7
25512
+ additionalProperties: *ref_11
23523
25513
  maxProperties: 50
23524
- example: *ref_13
25514
+ example: *ref_17
23525
25515
  description: >-
23526
25516
  Object containing metadata key/value pairs associated with the
23527
25517
  user.
@@ -23603,7 +25593,7 @@ components:
23603
25593
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
23604
25594
  password_hash_type:
23605
25595
  type: string
23606
- enum: *ref_14
25596
+ enum: *ref_18
23607
25597
  description: >-
23608
25598
  The algorithm originally used to hash the password, used
23609
25599
  when providing a `password_hash`. Required with
@@ -23611,7 +25601,7 @@ components:
23611
25601
  example: bcrypt
23612
25602
  password_salt_position:
23613
25603
  type: string
23614
- enum: *ref_15
25604
+ enum: *ref_19
23615
25605
  description: >-
23616
25606
  The position of the salt relative to the password when the
23617
25607
  `password_hash` digest was computed: `prefix` for `hash(salt
@@ -23630,7 +25620,7 @@ components:
23630
25620
  x-exclude-from-lint: true
23631
25621
  required:
23632
25622
  - password
23633
- x-mutually-exclusive-body-groups: *ref_16
25623
+ x-mutually-exclusive-body-groups: *ref_20
23634
25624
  VerifyEmailAddressDto:
23635
25625
  type: object
23636
25626
  properties:
@@ -23705,8 +25695,9 @@ components:
23705
25695
  type: object
23706
25696
  description: >-
23707
25697
  Object containing additional key/value pairs collected with the
23708
- waitlist entry. Values are user-provided — treat them as untrusted
23709
- input when rendering or exporting.
25698
+ waitlist entry. Supports up to 50 string pairs, with keys up to 40
25699
+ characters and values up to 600 characters. Values are user-provided
25700
+ — treat them as untrusted input when rendering or exporting.
23710
25701
  additionalProperties:
23711
25702
  type: string
23712
25703
  maxLength: 600
@@ -23736,7 +25727,14 @@ components:
23736
25727
  description: The events that the Webhook Endpoint is subscribed to.
23737
25728
  items:
23738
25729
  type: string
23739
- enum: &ref_17
25730
+ enum: &ref_21
25731
+ - agent.blueprint.created
25732
+ - agent.blueprint.deleted
25733
+ - agent.blueprint.updated
25734
+ - agent.instance.created
25735
+ - agent.instance.deleted
25736
+ - agent.instance.session.created
25737
+ - agent.instance.session.revoked
23740
25738
  - agent.registration.created
23741
25739
  - agent.registration.claim.attempt.created
23742
25740
  - agent.registration.claim.completed
@@ -23855,7 +25853,7 @@ components:
23855
25853
  description: The events that the Webhook Endpoint is subscribed to.
23856
25854
  items:
23857
25855
  type: string
23858
- enum: *ref_17
25856
+ enum: *ref_21
23859
25857
  example:
23860
25858
  - user.created
23861
25859
  - dsync.user.created
@@ -27181,7 +29179,7 @@ components:
27181
29179
  description: >-
27182
29180
  An object containing the custom attribute mapping for the Directory
27183
29181
  Provider.
27184
- example: &ref_20
29182
+ example: &ref_27
27185
29183
  department: Engineering
27186
29184
  job_title: Software Engineer
27187
29185
  role:
@@ -27375,7 +29373,7 @@ components:
27375
29373
  type: object
27376
29374
  additionalProperties: {}
27377
29375
  description: The event payload.
27378
- example: &ref_18
29376
+ example: &ref_22
27379
29377
  id: directory_user_01E1JG7J09H96KYP8HM9B0G5SJ
27380
29378
  directory_id: directory_01ECAZ4NV9QMV47GW873HDCX74
27381
29379
  organization_id: org_01EZTR6WYX1A0DSE2CYMGXQ24Y
@@ -27410,11 +29408,11 @@ components:
27410
29408
  - data
27411
29409
  - created_at
27412
29410
  description: An event emitted by WorkOS.
27413
- example: &ref_25
29411
+ example: &ref_32
27414
29412
  object: event
27415
29413
  id: event_01EHZNVPK3SFK441A1RGBFSHRT
27416
29414
  event: dsync.user.created
27417
- data: *ref_18
29415
+ data: *ref_22
27418
29416
  created_at: '2021-06-25T19:07:33.155Z'
27419
29417
  context: {}
27420
29418
  - oneOf:
@@ -27426,70 +29424,529 @@ components:
27426
29424
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
27427
29425
  event:
27428
29426
  type: string
27429
- const: action.authentication.denied
29427
+ const: action.authentication.denied
29428
+ data:
29429
+ type: object
29430
+ properties:
29431
+ action_endpoint_id:
29432
+ type: string
29433
+ description: The ID of the action endpoint.
29434
+ example: action_endpoint_01EHWNCE74X7JSDV0X3SZ3KJNY
29435
+ action_execution_id:
29436
+ type: string
29437
+ description: The ID of the action execution.
29438
+ example: action_execution_01EHWNCE74X7JSDV0X3SZ3KJNY
29439
+ type:
29440
+ type: string
29441
+ description: The type of action that was denied.
29442
+ const: authentication
29443
+ verdict:
29444
+ type: string
29445
+ description: The verdict of the action.
29446
+ const: Deny
29447
+ user_id:
29448
+ type: string
29449
+ description: The ID of the user.
29450
+ example: user_01EHWNCE74X7JSDV0X3SZ3KJNY
29451
+ organization_id:
29452
+ type:
29453
+ - string
29454
+ - 'null'
29455
+ description: The ID of the organization.
29456
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
29457
+ email:
29458
+ type: string
29459
+ description: The email address of the user.
29460
+ example: user@example.com
29461
+ ip_address:
29462
+ type:
29463
+ - string
29464
+ - 'null'
29465
+ description: The IP address of the request.
29466
+ example: 203.0.113.1
29467
+ user_agent:
29468
+ type:
29469
+ - string
29470
+ - 'null'
29471
+ description: The user agent of the request.
29472
+ example: Mozilla/5.0
29473
+ required:
29474
+ - action_endpoint_id
29475
+ - action_execution_id
29476
+ - type
29477
+ - verdict
29478
+ - user_id
29479
+ - organization_id
29480
+ - email
29481
+ - ip_address
29482
+ - user_agent
29483
+ description: The event payload.
29484
+ context:
29485
+ $ref: '#/components/schemas/EventContextDto'
29486
+ created_at:
29487
+ format: date-time
29488
+ type: string
29489
+ description: An ISO 8601 timestamp.
29490
+ example: '2026-01-15T12:00:00.000Z'
29491
+ object:
29492
+ type: string
29493
+ description: Distinguishes the Event object.
29494
+ const: event
29495
+ required:
29496
+ - id
29497
+ - event
29498
+ - data
29499
+ - created_at
29500
+ - object
29501
+ - type: object
29502
+ properties:
29503
+ id:
29504
+ type: string
29505
+ description: Unique identifier for the event.
29506
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
29507
+ event:
29508
+ type: string
29509
+ const: action.user_registration.denied
29510
+ data:
29511
+ type: object
29512
+ properties:
29513
+ action_endpoint_id:
29514
+ type: string
29515
+ description: The ID of the action endpoint.
29516
+ example: action_endpoint_01EHWNCE74X7JSDV0X3SZ3KJNY
29517
+ action_execution_id:
29518
+ type: string
29519
+ description: The ID of the action execution.
29520
+ example: action_execution_01EHWNCE74X7JSDV0X3SZ3KJNY
29521
+ type:
29522
+ type: string
29523
+ description: The type of action that was denied.
29524
+ const: user_registration
29525
+ verdict:
29526
+ type: string
29527
+ description: The verdict of the action.
29528
+ const: Deny
29529
+ organization_id:
29530
+ type:
29531
+ - string
29532
+ - 'null'
29533
+ description: The ID of the organization.
29534
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
29535
+ email:
29536
+ type: string
29537
+ description: The email address of the user.
29538
+ example: user@example.com
29539
+ ip_address:
29540
+ type:
29541
+ - string
29542
+ - 'null'
29543
+ description: The IP address of the request.
29544
+ example: 203.0.113.1
29545
+ user_agent:
29546
+ type:
29547
+ - string
29548
+ - 'null'
29549
+ description: The user agent of the request.
29550
+ example: Mozilla/5.0
29551
+ required:
29552
+ - action_endpoint_id
29553
+ - action_execution_id
29554
+ - type
29555
+ - verdict
29556
+ - organization_id
29557
+ - email
29558
+ - ip_address
29559
+ - user_agent
29560
+ description: The event payload.
29561
+ context:
29562
+ $ref: '#/components/schemas/EventContextDto'
29563
+ created_at:
29564
+ format: date-time
29565
+ type: string
29566
+ description: An ISO 8601 timestamp.
29567
+ example: '2026-01-15T12:00:00.000Z'
29568
+ object:
29569
+ type: string
29570
+ description: Distinguishes the Event object.
29571
+ const: event
29572
+ required:
29573
+ - id
29574
+ - event
29575
+ - data
29576
+ - created_at
29577
+ - object
29578
+ - type: object
29579
+ properties:
29580
+ id:
29581
+ type: string
29582
+ description: Unique identifier for the event.
29583
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
29584
+ event:
29585
+ type: string
29586
+ const: agent.blueprint.created
29587
+ data:
29588
+ type: object
29589
+ properties:
29590
+ object:
29591
+ type: string
29592
+ description: Distinguishes the agent blueprint object.
29593
+ const: agent_blueprint
29594
+ id:
29595
+ type: string
29596
+ description: Unique identifier of the agent blueprint.
29597
+ example: agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
29598
+ name:
29599
+ type: string
29600
+ description: Human-readable name of the agent blueprint.
29601
+ example: Prospecting Agent
29602
+ description:
29603
+ type:
29604
+ - string
29605
+ - 'null'
29606
+ description: Human-readable description of the agent blueprint.
29607
+ example: Finds and qualifies sales prospects.
29608
+ permissions:
29609
+ type: array
29610
+ items:
29611
+ type: string
29612
+ description: >-
29613
+ Permission slugs forming the ceiling on what sessions
29614
+ minted from this blueprint may do.
29615
+ example: &ref_23
29616
+ - crm:read
29617
+ - email:send
29618
+ invocable_by:
29619
+ type: object
29620
+ properties:
29621
+ role_slugs:
29622
+ type: array
29623
+ items:
29624
+ type: string
29625
+ description: >-
29626
+ Role slugs whose members may mint user-delegated
29627
+ sessions from this blueprint.
29628
+ example: &ref_24
29629
+ - manager
29630
+ organization_ids:
29631
+ type: array
29632
+ items:
29633
+ type: string
29634
+ description: >-
29635
+ Organizations in which autonomous sessions may be
29636
+ minted from this blueprint.
29637
+ example: &ref_25
29638
+ - org_01EHWNCE74X7JSDV0X3SZ3KJNY
29639
+ required:
29640
+ - role_slugs
29641
+ - organization_ids
29642
+ description: Who may mint sessions from this blueprint.
29643
+ session_settings:
29644
+ type: object
29645
+ properties:
29646
+ max_age_seconds:
29647
+ type: number
29648
+ description: >-
29649
+ Maximum lifetime of a session in seconds; refreshes
29650
+ never extend a session past this.
29651
+ example: 3600
29652
+ access_token_ttl_seconds:
29653
+ type: number
29654
+ description: Lifetime of each minted access token in seconds.
29655
+ example: 300
29656
+ refresh_token_ttl_seconds:
29657
+ type: number
29658
+ description: Lifetime of each rotated refresh token in seconds.
29659
+ example: 3600
29660
+ required:
29661
+ - max_age_seconds
29662
+ - access_token_ttl_seconds
29663
+ - refresh_token_ttl_seconds
29664
+ description: >-
29665
+ Token and session lifetimes for sessions minted from
29666
+ this blueprint.
29667
+ created_at:
29668
+ type: string
29669
+ description: The timestamp when the agent blueprint was created.
29670
+ example: '2026-01-15T12:00:00.000Z'
29671
+ updated_at:
29672
+ type: string
29673
+ description: The timestamp when the agent blueprint was last updated.
29674
+ example: '2026-01-15T12:00:00.000Z'
29675
+ required:
29676
+ - object
29677
+ - id
29678
+ - name
29679
+ - description
29680
+ - permissions
29681
+ - invocable_by
29682
+ - session_settings
29683
+ - created_at
29684
+ - updated_at
29685
+ description: The event payload.
29686
+ created_at:
29687
+ format: date-time
29688
+ type: string
29689
+ description: An ISO 8601 timestamp.
29690
+ example: '2026-01-15T12:00:00.000Z'
29691
+ context:
29692
+ $ref: '#/components/schemas/EventContextDto'
29693
+ object:
29694
+ type: string
29695
+ description: Distinguishes the Event object.
29696
+ const: event
29697
+ required:
29698
+ - id
29699
+ - event
29700
+ - data
29701
+ - created_at
29702
+ - object
29703
+ - type: object
29704
+ properties:
29705
+ id:
29706
+ type: string
29707
+ description: Unique identifier for the event.
29708
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
29709
+ event:
29710
+ type: string
29711
+ const: agent.blueprint.deleted
29712
+ data:
29713
+ type: object
29714
+ properties:
29715
+ object:
29716
+ type: string
29717
+ description: Distinguishes the agent blueprint object.
29718
+ const: agent_blueprint
29719
+ id:
29720
+ type: string
29721
+ description: Unique identifier of the agent blueprint.
29722
+ example: agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
29723
+ name:
29724
+ type: string
29725
+ description: Human-readable name of the agent blueprint.
29726
+ example: Prospecting Agent
29727
+ created_at:
29728
+ type: string
29729
+ description: The timestamp when the agent blueprint was created.
29730
+ example: '2026-01-15T12:00:00.000Z'
29731
+ updated_at:
29732
+ type: string
29733
+ description: The timestamp when the agent blueprint was last updated.
29734
+ example: '2026-01-15T12:00:00.000Z'
29735
+ required:
29736
+ - object
29737
+ - id
29738
+ - name
29739
+ - created_at
29740
+ - updated_at
29741
+ description: The event payload.
29742
+ created_at:
29743
+ format: date-time
29744
+ type: string
29745
+ description: An ISO 8601 timestamp.
29746
+ example: '2026-01-15T12:00:00.000Z'
29747
+ context:
29748
+ $ref: '#/components/schemas/EventContextDto'
29749
+ object:
29750
+ type: string
29751
+ description: Distinguishes the Event object.
29752
+ const: event
29753
+ required:
29754
+ - id
29755
+ - event
29756
+ - data
29757
+ - created_at
29758
+ - object
29759
+ - type: object
29760
+ properties:
29761
+ id:
29762
+ type: string
29763
+ description: Unique identifier for the event.
29764
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
29765
+ event:
29766
+ type: string
29767
+ const: agent.blueprint.updated
27430
29768
  data:
27431
29769
  type: object
27432
29770
  properties:
27433
- action_endpoint_id:
27434
- type: string
27435
- description: The ID of the action endpoint.
27436
- example: action_endpoint_01EHWNCE74X7JSDV0X3SZ3KJNY
27437
- action_execution_id:
27438
- type: string
27439
- description: The ID of the action execution.
27440
- example: action_execution_01EHWNCE74X7JSDV0X3SZ3KJNY
27441
- type:
29771
+ object:
27442
29772
  type: string
27443
- description: The type of action that was denied.
27444
- const: authentication
27445
- verdict:
29773
+ description: Distinguishes the agent blueprint object.
29774
+ const: agent_blueprint
29775
+ id:
27446
29776
  type: string
27447
- description: The verdict of the action.
27448
- const: Deny
27449
- user_id:
29777
+ description: Unique identifier of the agent blueprint.
29778
+ example: agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
29779
+ name:
27450
29780
  type: string
27451
- description: The ID of the user.
27452
- example: user_01EHWNCE74X7JSDV0X3SZ3KJNY
27453
- organization_id:
29781
+ description: Human-readable name of the agent blueprint.
29782
+ example: Prospecting Agent
29783
+ description:
27454
29784
  type:
27455
29785
  - string
27456
29786
  - 'null'
27457
- description: The ID of the organization.
27458
- example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
27459
- email:
29787
+ description: Human-readable description of the agent blueprint.
29788
+ example: Finds and qualifies sales prospects.
29789
+ permissions:
29790
+ type: array
29791
+ items:
29792
+ type: string
29793
+ description: >-
29794
+ Permission slugs forming the ceiling on what sessions
29795
+ minted from this blueprint may do.
29796
+ example: *ref_23
29797
+ invocable_by:
29798
+ type: object
29799
+ properties:
29800
+ role_slugs:
29801
+ type: array
29802
+ items:
29803
+ type: string
29804
+ description: >-
29805
+ Role slugs whose members may mint user-delegated
29806
+ sessions from this blueprint.
29807
+ example: *ref_24
29808
+ organization_ids:
29809
+ type: array
29810
+ items:
29811
+ type: string
29812
+ description: >-
29813
+ Organizations in which autonomous sessions may be
29814
+ minted from this blueprint.
29815
+ example: *ref_25
29816
+ required:
29817
+ - role_slugs
29818
+ - organization_ids
29819
+ description: Who may mint sessions from this blueprint.
29820
+ session_settings:
29821
+ type: object
29822
+ properties:
29823
+ max_age_seconds:
29824
+ type: number
29825
+ description: >-
29826
+ Maximum lifetime of a session in seconds; refreshes
29827
+ never extend a session past this.
29828
+ example: 3600
29829
+ access_token_ttl_seconds:
29830
+ type: number
29831
+ description: Lifetime of each minted access token in seconds.
29832
+ example: 300
29833
+ refresh_token_ttl_seconds:
29834
+ type: number
29835
+ description: Lifetime of each rotated refresh token in seconds.
29836
+ example: 3600
29837
+ required:
29838
+ - max_age_seconds
29839
+ - access_token_ttl_seconds
29840
+ - refresh_token_ttl_seconds
29841
+ description: >-
29842
+ Token and session lifetimes for sessions minted from
29843
+ this blueprint.
29844
+ created_at:
27460
29845
  type: string
27461
- description: The email address of the user.
27462
- example: user@example.com
27463
- ip_address:
27464
- type:
27465
- - string
27466
- - 'null'
27467
- description: The IP address of the request.
27468
- example: 203.0.113.1
27469
- user_agent:
29846
+ description: The timestamp when the agent blueprint was created.
29847
+ example: '2026-01-15T12:00:00.000Z'
29848
+ updated_at:
29849
+ type: string
29850
+ description: The timestamp when the agent blueprint was last updated.
29851
+ example: '2026-01-15T12:00:00.000Z'
29852
+ required:
29853
+ - object
29854
+ - id
29855
+ - name
29856
+ - description
29857
+ - permissions
29858
+ - invocable_by
29859
+ - session_settings
29860
+ - created_at
29861
+ - updated_at
29862
+ description: The event payload.
29863
+ created_at:
29864
+ format: date-time
29865
+ type: string
29866
+ description: An ISO 8601 timestamp.
29867
+ example: '2026-01-15T12:00:00.000Z'
29868
+ context:
29869
+ $ref: '#/components/schemas/EventContextDto'
29870
+ object:
29871
+ type: string
29872
+ description: Distinguishes the Event object.
29873
+ const: event
29874
+ required:
29875
+ - id
29876
+ - event
29877
+ - data
29878
+ - created_at
29879
+ - object
29880
+ - type: object
29881
+ properties:
29882
+ id:
29883
+ type: string
29884
+ description: Unique identifier for the event.
29885
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
29886
+ event:
29887
+ type: string
29888
+ const: agent.instance.created
29889
+ data:
29890
+ type: object
29891
+ properties:
29892
+ object:
29893
+ type: string
29894
+ description: Distinguishes the agent instance object.
29895
+ const: agent_instance
29896
+ id:
29897
+ type: string
29898
+ description: Unique identifier of the agent instance.
29899
+ example: agent_01EHWNCE74X7JSDV0X3SZ3KJNY
29900
+ agent_blueprint_id:
29901
+ type: string
29902
+ description: The agent blueprint this instance was minted from.
29903
+ example: agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
29904
+ organization_id:
29905
+ type: string
29906
+ description: The organization the instance acts within.
29907
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
29908
+ organization_membership_id:
27470
29909
  type:
27471
29910
  - string
27472
29911
  - 'null'
27473
- description: The user agent of the request.
27474
- example: Mozilla/5.0
29912
+ description: >-
29913
+ The organization membership the instance acts on behalf
29914
+ of; `null` for an autonomous instance.
29915
+ example: om_01EHWNCE74X7JSDV0X3SZ3KJNY
29916
+ type:
29917
+ type: string
29918
+ enum:
29919
+ - delegated
29920
+ - autonomous
29921
+ description: >-
29922
+ Whether the instance acts on behalf of a user
29923
+ (`delegated`) or as itself within an organization
29924
+ (`autonomous`).
29925
+ created_at:
29926
+ type: string
29927
+ description: The timestamp when the agent instance was created.
29928
+ example: '2026-01-15T12:00:00.000Z'
29929
+ updated_at:
29930
+ type: string
29931
+ description: The timestamp when the agent instance was last updated.
29932
+ example: '2026-01-15T12:00:00.000Z'
27475
29933
  required:
27476
- - action_endpoint_id
27477
- - action_execution_id
27478
- - type
27479
- - verdict
27480
- - user_id
29934
+ - object
29935
+ - id
29936
+ - agent_blueprint_id
27481
29937
  - organization_id
27482
- - email
27483
- - ip_address
27484
- - user_agent
29938
+ - organization_membership_id
29939
+ - type
29940
+ - created_at
29941
+ - updated_at
27485
29942
  description: The event payload.
27486
- context:
27487
- $ref: '#/components/schemas/EventContextDto'
27488
29943
  created_at:
27489
29944
  format: date-time
27490
29945
  type: string
27491
29946
  description: An ISO 8601 timestamp.
27492
29947
  example: '2026-01-15T12:00:00.000Z'
29948
+ context:
29949
+ $ref: '#/components/schemas/EventContextDto'
27493
29950
  object:
27494
29951
  type: string
27495
29952
  description: Distinguishes the Event object.
@@ -27508,65 +29965,226 @@ components:
27508
29965
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
27509
29966
  event:
27510
29967
  type: string
27511
- const: action.user_registration.denied
29968
+ const: agent.instance.deleted
27512
29969
  data:
27513
29970
  type: object
27514
29971
  properties:
27515
- action_endpoint_id:
27516
- type: string
27517
- description: The ID of the action endpoint.
27518
- example: action_endpoint_01EHWNCE74X7JSDV0X3SZ3KJNY
27519
- action_execution_id:
29972
+ object:
27520
29973
  type: string
27521
- description: The ID of the action execution.
27522
- example: action_execution_01EHWNCE74X7JSDV0X3SZ3KJNY
27523
- type:
29974
+ description: Distinguishes the agent instance object.
29975
+ const: agent_instance
29976
+ id:
27524
29977
  type: string
27525
- description: The type of action that was denied.
27526
- const: user_registration
27527
- verdict:
29978
+ description: Unique identifier of the agent instance.
29979
+ example: agent_01EHWNCE74X7JSDV0X3SZ3KJNY
29980
+ agent_blueprint_id:
27528
29981
  type: string
27529
- description: The verdict of the action.
27530
- const: Deny
29982
+ description: The agent blueprint this instance was minted from.
29983
+ example: agent_blueprint_01EHWNCE74X7JSDV0X3SZ3KJNY
27531
29984
  organization_id:
29985
+ type: string
29986
+ description: The organization the instance acts within.
29987
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
29988
+ organization_membership_id:
27532
29989
  type:
27533
29990
  - string
27534
29991
  - 'null'
27535
- description: The ID of the organization.
29992
+ description: >-
29993
+ The organization membership the instance acts on behalf
29994
+ of; `null` for an autonomous instance.
29995
+ example: om_01EHWNCE74X7JSDV0X3SZ3KJNY
29996
+ type:
29997
+ type: string
29998
+ enum:
29999
+ - delegated
30000
+ - autonomous
30001
+ description: >-
30002
+ Whether the instance acts on behalf of a user
30003
+ (`delegated`) or as itself within an organization
30004
+ (`autonomous`).
30005
+ created_at:
30006
+ type: string
30007
+ description: The timestamp when the agent instance was created.
30008
+ example: '2026-01-15T12:00:00.000Z'
30009
+ updated_at:
30010
+ type: string
30011
+ description: The timestamp when the agent instance was last updated.
30012
+ example: '2026-01-15T12:00:00.000Z'
30013
+ required:
30014
+ - object
30015
+ - id
30016
+ - agent_blueprint_id
30017
+ - organization_id
30018
+ - organization_membership_id
30019
+ - type
30020
+ - created_at
30021
+ - updated_at
30022
+ description: The event payload.
30023
+ created_at:
30024
+ format: date-time
30025
+ type: string
30026
+ description: An ISO 8601 timestamp.
30027
+ example: '2026-01-15T12:00:00.000Z'
30028
+ context:
30029
+ $ref: '#/components/schemas/EventContextDto'
30030
+ object:
30031
+ type: string
30032
+ description: Distinguishes the Event object.
30033
+ const: event
30034
+ required:
30035
+ - id
30036
+ - event
30037
+ - data
30038
+ - created_at
30039
+ - object
30040
+ - type: object
30041
+ properties:
30042
+ id:
30043
+ type: string
30044
+ description: Unique identifier for the event.
30045
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
30046
+ event:
30047
+ type: string
30048
+ const: agent.instance.session.created
30049
+ data:
30050
+ type: object
30051
+ properties:
30052
+ object:
30053
+ type: string
30054
+ description: Distinguishes the agent instance session object.
30055
+ const: agent_instance_session
30056
+ id:
30057
+ type: string
30058
+ description: Unique identifier of the agent instance session.
30059
+ example: agent_session_01EHWNCE74X7JSDV0X3SZ3KJNY
30060
+ agent_instance_id:
30061
+ type: string
30062
+ description: The agent instance the session belongs to.
30063
+ example: agent_01EHWNCE74X7JSDV0X3SZ3KJNY
30064
+ organization_id:
30065
+ type: string
30066
+ description: The organization the owning agent instance belongs to.
27536
30067
  example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
27537
- email:
30068
+ expires_at:
27538
30069
  type: string
27539
- description: The email address of the user.
27540
- example: user@example.com
27541
- ip_address:
30070
+ description: Timestamp when the session expires.
30071
+ example: '2026-01-15T13:00:00.000Z'
30072
+ revoked_at:
27542
30073
  type:
27543
30074
  - string
27544
30075
  - 'null'
27545
- description: The IP address of the request.
27546
- example: 203.0.113.1
27547
- user_agent:
30076
+ description: >-
30077
+ Timestamp when the session was revoked; `null` if it has
30078
+ not been revoked.
30079
+ example: null
30080
+ created_at:
30081
+ type: string
30082
+ description: The timestamp when the session was created.
30083
+ example: '2026-01-15T12:00:00.000Z'
30084
+ updated_at:
30085
+ type: string
30086
+ description: The timestamp when the session was last updated.
30087
+ example: '2026-01-15T12:00:00.000Z'
30088
+ permission_slugs:
30089
+ type: array
30090
+ items:
30091
+ type: string
30092
+ description: The permissions granted to the session at mint time.
30093
+ example:
30094
+ - crm:read
30095
+ required:
30096
+ - object
30097
+ - id
30098
+ - agent_instance_id
30099
+ - organization_id
30100
+ - expires_at
30101
+ - revoked_at
30102
+ - created_at
30103
+ - updated_at
30104
+ - permission_slugs
30105
+ description: The event payload.
30106
+ created_at:
30107
+ format: date-time
30108
+ type: string
30109
+ description: An ISO 8601 timestamp.
30110
+ example: '2026-01-15T12:00:00.000Z'
30111
+ context:
30112
+ $ref: '#/components/schemas/EventContextDto'
30113
+ object:
30114
+ type: string
30115
+ description: Distinguishes the Event object.
30116
+ const: event
30117
+ required:
30118
+ - id
30119
+ - event
30120
+ - data
30121
+ - created_at
30122
+ - object
30123
+ - type: object
30124
+ properties:
30125
+ id:
30126
+ type: string
30127
+ description: Unique identifier for the event.
30128
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
30129
+ event:
30130
+ type: string
30131
+ const: agent.instance.session.revoked
30132
+ data:
30133
+ type: object
30134
+ properties:
30135
+ object:
30136
+ type: string
30137
+ description: Distinguishes the agent instance session object.
30138
+ const: agent_instance_session
30139
+ id:
30140
+ type: string
30141
+ description: Unique identifier of the agent instance session.
30142
+ example: agent_session_01EHWNCE74X7JSDV0X3SZ3KJNY
30143
+ agent_instance_id:
30144
+ type: string
30145
+ description: The agent instance the session belongs to.
30146
+ example: agent_01EHWNCE74X7JSDV0X3SZ3KJNY
30147
+ organization_id:
30148
+ type: string
30149
+ description: The organization the owning agent instance belongs to.
30150
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
30151
+ expires_at:
30152
+ type: string
30153
+ description: Timestamp when the session expires.
30154
+ example: '2026-01-15T13:00:00.000Z'
30155
+ revoked_at:
27548
30156
  type:
27549
30157
  - string
27550
30158
  - 'null'
27551
- description: The user agent of the request.
27552
- example: Mozilla/5.0
30159
+ description: >-
30160
+ Timestamp when the session was revoked; `null` if it has
30161
+ not been revoked.
30162
+ example: null
30163
+ created_at:
30164
+ type: string
30165
+ description: The timestamp when the session was created.
30166
+ example: '2026-01-15T12:00:00.000Z'
30167
+ updated_at:
30168
+ type: string
30169
+ description: The timestamp when the session was last updated.
30170
+ example: '2026-01-15T12:00:00.000Z'
27553
30171
  required:
27554
- - action_endpoint_id
27555
- - action_execution_id
27556
- - type
27557
- - verdict
30172
+ - object
30173
+ - id
30174
+ - agent_instance_id
27558
30175
  - organization_id
27559
- - email
27560
- - ip_address
27561
- - user_agent
30176
+ - expires_at
30177
+ - revoked_at
30178
+ - created_at
30179
+ - updated_at
27562
30180
  description: The event payload.
27563
- context:
27564
- $ref: '#/components/schemas/EventContextDto'
27565
30181
  created_at:
27566
30182
  format: date-time
27567
30183
  type: string
27568
30184
  description: An ISO 8601 timestamp.
27569
30185
  example: '2026-01-15T12:00:00.000Z'
30186
+ context:
30187
+ $ref: '#/components/schemas/EventContextDto'
27570
30188
  object:
27571
30189
  type: string
27572
30190
  description: Distinguishes the Event object.
@@ -28230,7 +30848,7 @@ components:
28230
30848
  items:
28231
30849
  type: string
28232
30850
  description: The permissions granted to the API key.
28233
- example: &ref_19
30851
+ example: &ref_26
28234
30852
  - users:read
28235
30853
  - users:write
28236
30854
  created_at:
@@ -28356,7 +30974,7 @@ components:
28356
30974
  items:
28357
30975
  type: string
28358
30976
  description: The permissions granted to the API key.
28359
- example: *ref_19
30977
+ example: *ref_26
28360
30978
  created_at:
28361
30979
  type: string
28362
30980
  description: The timestamp when the API key was created.
@@ -28480,7 +31098,7 @@ components:
28480
31098
  items:
28481
31099
  type: string
28482
31100
  description: The permissions granted to the API key.
28483
- example: *ref_19
31101
+ example: *ref_26
28484
31102
  created_at:
28485
31103
  type: string
28486
31104
  description: The timestamp when the API key was created.
@@ -31347,7 +33965,7 @@ components:
31347
33965
  description: >-
31348
33966
  An object containing the custom attribute mapping for
31349
33967
  the Directory Provider.
31350
- example: *ref_20
33968
+ example: *ref_27
31351
33969
  role:
31352
33970
  $ref: '#/components/schemas/SlimRole'
31353
33971
  roles:
@@ -31537,7 +34155,7 @@ components:
31537
34155
  description: >-
31538
34156
  Labels assigned to the Feature Flag for categorizing and
31539
34157
  filtering.
31540
- example: &ref_21
34158
+ example: &ref_28
31541
34159
  - reports
31542
34160
  enabled:
31543
34161
  type: boolean
@@ -31698,7 +34316,7 @@ components:
31698
34316
  description: >-
31699
34317
  Labels assigned to the Feature Flag for categorizing and
31700
34318
  filtering.
31701
- example: *ref_21
34319
+ example: *ref_28
31702
34320
  enabled:
31703
34321
  type: boolean
31704
34322
  description: >-
@@ -31858,7 +34476,7 @@ components:
31858
34476
  description: >-
31859
34477
  Labels assigned to the Feature Flag for categorizing and
31860
34478
  filtering.
31861
- example: *ref_21
34479
+ example: *ref_28
31862
34480
  enabled:
31863
34481
  type: boolean
31864
34482
  description: >-
@@ -32138,7 +34756,7 @@ components:
32138
34756
  description: >-
32139
34757
  Labels assigned to the Feature Flag for categorizing and
32140
34758
  filtering.
32141
- example: *ref_21
34759
+ example: *ref_28
32142
34760
  enabled:
32143
34761
  type: boolean
32144
34762
  description: >-
@@ -33126,7 +35744,7 @@ components:
33126
35744
  description: >-
33127
35745
  Object containing [metadata](/authkit/metadata)
33128
35746
  key/value pairs associated with the Organization.
33129
- example: &ref_22
35747
+ example: &ref_29
33130
35748
  tier: diamond
33131
35749
  propertyNames:
33132
35750
  maxLength: 40
@@ -33276,7 +35894,7 @@ components:
33276
35894
  description: >-
33277
35895
  Object containing [metadata](/authkit/metadata)
33278
35896
  key/value pairs associated with the Organization.
33279
- example: *ref_22
35897
+ example: *ref_29
33280
35898
  propertyNames:
33281
35899
  maxLength: 40
33282
35900
  maxProperties: 50
@@ -34103,7 +36721,7 @@ components:
34103
36721
  items:
34104
36722
  type: string
34105
36723
  description: The permissions granted by the role.
34106
- example: &ref_23
36724
+ example: &ref_30
34107
36725
  - users:read
34108
36726
  - users:write
34109
36727
  created_at:
@@ -34187,7 +36805,7 @@ components:
34187
36805
  items:
34188
36806
  type: string
34189
36807
  description: The permissions granted by the role.
34190
- example: *ref_23
36808
+ example: *ref_30
34191
36809
  created_at:
34192
36810
  format: date-time
34193
36811
  type: string
@@ -34269,7 +36887,7 @@ components:
34269
36887
  items:
34270
36888
  type: string
34271
36889
  description: The permissions granted by the role.
34272
- example: *ref_23
36890
+ example: *ref_30
34273
36891
  created_at:
34274
36892
  format: date-time
34275
36893
  type: string
@@ -34406,7 +37024,7 @@ components:
34406
37024
  description: >-
34407
37025
  Object containing [metadata](/authkit/metadata)
34408
37026
  key/value pairs associated with the Organization.
34409
- example: *ref_22
37027
+ example: *ref_29
34410
37028
  propertyNames:
34411
37029
  maxLength: 40
34412
37030
  maxProperties: 50
@@ -34831,9 +37449,217 @@ components:
34831
37449
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
34832
37450
  event:
34833
37451
  type: string
34834
- const: pipes.connected_account.connected
37452
+ const: pipes.connected_account.connected
37453
+ data:
37454
+ $ref: '#/components/schemas/PipesConnectedAccount'
37455
+ description: The event payload.
37456
+ created_at:
37457
+ format: date-time
37458
+ type: string
37459
+ description: An ISO 8601 timestamp.
37460
+ example: '2026-01-15T12:00:00.000Z'
37461
+ context:
37462
+ $ref: '#/components/schemas/EventContextDto'
37463
+ object:
37464
+ type: string
37465
+ description: Distinguishes the Event object.
37466
+ const: event
37467
+ required:
37468
+ - id
37469
+ - event
37470
+ - data
37471
+ - created_at
37472
+ - object
37473
+ - type: object
37474
+ properties:
37475
+ id:
37476
+ type: string
37477
+ description: Unique identifier for the event.
37478
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
37479
+ event:
37480
+ type: string
37481
+ const: pipes.connected_account.connection_failed
37482
+ data:
37483
+ type: object
37484
+ properties:
37485
+ object:
37486
+ type: string
37487
+ description: The object type.
37488
+ example: connection_failed
37489
+ const: connection_failed
37490
+ data_integration_id:
37491
+ type: string
37492
+ description: The unique ID of the data integration.
37493
+ example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
37494
+ provider_slug:
37495
+ type: string
37496
+ description: The provider slug for this connection attempt.
37497
+ example: github
37498
+ user_id:
37499
+ type:
37500
+ - string
37501
+ - 'null'
37502
+ description: The ID of the User the connection attempt belongs to.
37503
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
37504
+ organization_id:
37505
+ type:
37506
+ - string
37507
+ - 'null'
37508
+ description: >-
37509
+ The ID of the Organization the connection attempt
37510
+ belongs to.
37511
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
37512
+ error_code:
37513
+ type: string
37514
+ description: A machine-readable error code for the failure.
37515
+ example: authorization_code_exchange_error
37516
+ error_reason:
37517
+ type:
37518
+ - string
37519
+ - 'null'
37520
+ description: A human-readable explanation of the failure.
37521
+ example: The authorization code has expired.
37522
+ provider_error:
37523
+ type:
37524
+ - string
37525
+ - 'null'
37526
+ description: The raw error code returned by the OAuth provider.
37527
+ example: access_denied
37528
+ provider_error_description:
37529
+ type:
37530
+ - string
37531
+ - 'null'
37532
+ description: >-
37533
+ The raw error description returned by the OAuth
37534
+ provider.
37535
+ example: The user denied the authorization request.
37536
+ created_at:
37537
+ format: date-time
37538
+ type: string
37539
+ description: An ISO 8601 timestamp.
37540
+ example: '2026-01-15T12:00:00.000Z'
37541
+ required:
37542
+ - object
37543
+ - data_integration_id
37544
+ - provider_slug
37545
+ - user_id
37546
+ - organization_id
37547
+ - error_code
37548
+ - error_reason
37549
+ - provider_error
37550
+ - provider_error_description
37551
+ - created_at
37552
+ title: PipesConnectionFailed
37553
+ description: The event payload.
37554
+ created_at:
37555
+ format: date-time
37556
+ type: string
37557
+ description: An ISO 8601 timestamp.
37558
+ example: '2026-01-15T12:00:00.000Z'
37559
+ context:
37560
+ $ref: '#/components/schemas/EventContextDto'
37561
+ object:
37562
+ type: string
37563
+ description: Distinguishes the Event object.
37564
+ const: event
37565
+ required:
37566
+ - id
37567
+ - event
37568
+ - data
37569
+ - created_at
37570
+ - object
37571
+ - type: object
37572
+ properties:
37573
+ id:
37574
+ type: string
37575
+ description: Unique identifier for the event.
37576
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
37577
+ event:
37578
+ type: string
37579
+ const: pipes.connected_account.disconnected
37580
+ data:
37581
+ $ref: '#/components/schemas/PipesConnectedAccount'
37582
+ description: The event payload.
37583
+ created_at:
37584
+ format: date-time
37585
+ type: string
37586
+ description: An ISO 8601 timestamp.
37587
+ example: '2026-01-15T12:00:00.000Z'
37588
+ context:
37589
+ $ref: '#/components/schemas/EventContextDto'
37590
+ object:
37591
+ type: string
37592
+ description: Distinguishes the Event object.
37593
+ const: event
37594
+ required:
37595
+ - id
37596
+ - event
37597
+ - data
37598
+ - created_at
37599
+ - object
37600
+ - type: object
37601
+ properties:
37602
+ id:
37603
+ type: string
37604
+ description: Unique identifier for the event.
37605
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
37606
+ event:
37607
+ type: string
37608
+ const: pipes.connected_account.reauthorization_needed
37609
+ data:
37610
+ $ref: '#/components/schemas/PipesConnectedAccount'
37611
+ description: The event payload.
37612
+ created_at:
37613
+ format: date-time
37614
+ type: string
37615
+ description: An ISO 8601 timestamp.
37616
+ example: '2026-01-15T12:00:00.000Z'
37617
+ context:
37618
+ $ref: '#/components/schemas/EventContextDto'
37619
+ object:
37620
+ type: string
37621
+ description: Distinguishes the Event object.
37622
+ const: event
37623
+ required:
37624
+ - id
37625
+ - event
37626
+ - data
37627
+ - created_at
37628
+ - object
37629
+ - type: object
37630
+ properties:
37631
+ id:
37632
+ type: string
37633
+ description: Unique identifier for the event.
37634
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
37635
+ event:
37636
+ type: string
37637
+ const: radar.challenge_created
34835
37638
  data:
34836
- $ref: '#/components/schemas/PipesConnectedAccount'
37639
+ type: object
37640
+ properties:
37641
+ type:
37642
+ type: string
37643
+ description: The type of the Radar challenge.
37644
+ example: email
37645
+ const: email
37646
+ radar_challenge_id:
37647
+ type: string
37648
+ description: The ID of the Radar challenge.
37649
+ example: radar_challenge_01HWZBQZY2M3AMQW166Q22K88F
37650
+ user_id:
37651
+ type: string
37652
+ description: The ID of the user.
37653
+ example: user_01E4ZCR3C56J083X43JQXF3JK5
37654
+ email:
37655
+ type: string
37656
+ description: The email address of the user.
37657
+ example: user@example.com
37658
+ required:
37659
+ - type
37660
+ - radar_challenge_id
37661
+ - user_id
37662
+ - email
34837
37663
  description: The event payload.
34838
37664
  created_at:
34839
37665
  format: date-time
@@ -34860,78 +37686,26 @@ components:
34860
37686
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
34861
37687
  event:
34862
37688
  type: string
34863
- const: pipes.connected_account.connection_failed
37689
+ const: resource_export.completed
34864
37690
  data:
34865
37691
  type: object
34866
37692
  properties:
34867
- object:
34868
- type: string
34869
- description: The object type.
34870
- example: connection_failed
34871
- const: connection_failed
34872
- data_integration_id:
37693
+ id:
34873
37694
  type: string
34874
- description: The unique ID of the data integration.
34875
- example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
34876
- provider_slug:
37695
+ description: The ID of the resource export.
37696
+ example: resource_export_01HWZBQZY2M3AMQW166Q22K88F
37697
+ resource_type:
34877
37698
  type: string
34878
- description: The provider slug for this connection attempt.
34879
- example: github
34880
- user_id:
34881
- type:
34882
- - string
34883
- - 'null'
34884
- description: The ID of the User the connection attempt belongs to.
34885
- example: user_01EHZNVPK3SFK441A1RGBFSHRT
34886
- organization_id:
34887
- type:
34888
- - string
34889
- - 'null'
34890
- description: >-
34891
- The ID of the Organization the connection attempt
34892
- belongs to.
34893
- example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
34894
- error_code:
34895
- type: string
34896
- description: A machine-readable error code for the failure.
34897
- example: authorization_code_exchange_error
34898
- error_reason:
34899
- type:
34900
- - string
34901
- - 'null'
34902
- description: A human-readable explanation of the failure.
34903
- example: The authorization code has expired.
34904
- provider_error:
34905
- type:
34906
- - string
34907
- - 'null'
34908
- description: The raw error code returned by the OAuth provider.
34909
- example: access_denied
34910
- provider_error_description:
34911
- type:
34912
- - string
34913
- - 'null'
34914
- description: >-
34915
- The raw error description returned by the OAuth
34916
- provider.
34917
- example: The user denied the authorization request.
34918
- created_at:
34919
- format: date-time
34920
- type: string
34921
- description: An ISO 8601 timestamp.
34922
- example: '2026-01-15T12:00:00.000Z'
37699
+ enum:
37700
+ - users
37701
+ - organizations
37702
+ - events
37703
+ - sessions
37704
+ description: The type of resource being exported.
37705
+ example: users
34923
37706
  required:
34924
- - object
34925
- - data_integration_id
34926
- - provider_slug
34927
- - user_id
34928
- - organization_id
34929
- - error_code
34930
- - error_reason
34931
- - provider_error
34932
- - provider_error_description
34933
- - created_at
34934
- title: PipesConnectionFailed
37707
+ - id
37708
+ - resource_type
34935
37709
  description: The event payload.
34936
37710
  created_at:
34937
37711
  format: date-time
@@ -34958,9 +37732,26 @@ components:
34958
37732
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
34959
37733
  event:
34960
37734
  type: string
34961
- const: pipes.connected_account.disconnected
37735
+ const: resource_export.created
34962
37736
  data:
34963
- $ref: '#/components/schemas/PipesConnectedAccount'
37737
+ type: object
37738
+ properties:
37739
+ id:
37740
+ type: string
37741
+ description: The ID of the resource export.
37742
+ example: resource_export_01HWZBQZY2M3AMQW166Q22K88F
37743
+ resource_type:
37744
+ type: string
37745
+ enum:
37746
+ - users
37747
+ - organizations
37748
+ - events
37749
+ - sessions
37750
+ description: The type of resource being exported.
37751
+ example: users
37752
+ required:
37753
+ - id
37754
+ - resource_type
34964
37755
  description: The event payload.
34965
37756
  created_at:
34966
37757
  format: date-time
@@ -34987,9 +37778,26 @@ components:
34987
37778
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
34988
37779
  event:
34989
37780
  type: string
34990
- const: pipes.connected_account.reauthorization_needed
37781
+ const: resource_export.downloaded
34991
37782
  data:
34992
- $ref: '#/components/schemas/PipesConnectedAccount'
37783
+ type: object
37784
+ properties:
37785
+ id:
37786
+ type: string
37787
+ description: The ID of the resource export.
37788
+ example: resource_export_01HWZBQZY2M3AMQW166Q22K88F
37789
+ resource_type:
37790
+ type: string
37791
+ enum:
37792
+ - users
37793
+ - organizations
37794
+ - events
37795
+ - sessions
37796
+ description: The type of resource being exported.
37797
+ example: users
37798
+ required:
37799
+ - id
37800
+ - resource_type
34993
37801
  description: The event payload.
34994
37802
  created_at:
34995
37803
  format: date-time
@@ -35016,32 +37824,26 @@ components:
35016
37824
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
35017
37825
  event:
35018
37826
  type: string
35019
- const: radar.challenge_created
37827
+ const: resource_export.failed
35020
37828
  data:
35021
37829
  type: object
35022
37830
  properties:
35023
- type:
35024
- type: string
35025
- description: The type of the Radar challenge.
35026
- example: email
35027
- const: email
35028
- radar_challenge_id:
35029
- type: string
35030
- description: The ID of the Radar challenge.
35031
- example: radar_challenge_01HWZBQZY2M3AMQW166Q22K88F
35032
- user_id:
37831
+ id:
35033
37832
  type: string
35034
- description: The ID of the user.
35035
- example: user_01E4ZCR3C56J083X43JQXF3JK5
35036
- email:
37833
+ description: The ID of the resource export.
37834
+ example: resource_export_01HWZBQZY2M3AMQW166Q22K88F
37835
+ resource_type:
35037
37836
  type: string
35038
- description: The email address of the user.
35039
- example: user@example.com
37837
+ enum:
37838
+ - users
37839
+ - organizations
37840
+ - events
37841
+ - sessions
37842
+ description: The type of resource being exported.
37843
+ example: users
35040
37844
  required:
35041
- - type
35042
- - radar_challenge_id
35043
- - user_id
35044
- - email
37845
+ - id
37846
+ - resource_type
35045
37847
  description: The event payload.
35046
37848
  created_at:
35047
37849
  format: date-time
@@ -35089,7 +37891,7 @@ components:
35089
37891
  items:
35090
37892
  type: string
35091
37893
  description: The permissions granted by the role.
35092
- example: &ref_24
37894
+ example: &ref_31
35093
37895
  - users:read
35094
37896
  - users:write
35095
37897
  created_at:
@@ -35155,7 +37957,7 @@ components:
35155
37957
  items:
35156
37958
  type: string
35157
37959
  description: The permissions granted by the role.
35158
- example: *ref_24
37960
+ example: *ref_31
35159
37961
  created_at:
35160
37962
  format: date-time
35161
37963
  type: string
@@ -35219,7 +38021,7 @@ components:
35219
38021
  items:
35220
38022
  type: string
35221
38023
  description: The permissions granted by the role.
35222
- example: *ref_24
38024
+ example: *ref_31
35223
38025
  created_at:
35224
38026
  format: date-time
35225
38027
  type: string
@@ -36359,7 +39161,7 @@ components:
36359
39161
  - data
36360
39162
  - created_at
36361
39163
  - object
36362
- example: *ref_25
39164
+ example: *ref_32
36363
39165
  description: An event emitted by WorkOS.
36364
39166
  EventList:
36365
39167
  type: object
@@ -36394,7 +39196,7 @@ components:
36394
39196
  example:
36395
39197
  object: list
36396
39198
  data:
36397
- - *ref_25
39199
+ - *ref_32
36398
39200
  list_metadata:
36399
39201
  after: event_01EHZNVPK3SFK441A1RGBFSHRT
36400
39202
  JwtTemplate:
@@ -37388,7 +40190,9 @@ components:
37388
40190
  type: string
37389
40191
  description: >-
37390
40192
  The OAuth redirect URI to register with the provider when
37391
- configuring the custom application.
40193
+ configuring the custom application. Empty for `api_key` and
40194
+ `client_credentials` integrations, which run no authorization
40195
+ redirect.
37392
40196
  example: >-
37393
40197
  https://api.workos.com/data-integrations/github/dik_01EHZNVPK3SFK441A1RGBFSHRT/callback
37394
40198
  auth_methods:
@@ -37407,8 +40211,8 @@ components:
37407
40211
  credentials:
37408
40212
  description: >-
37409
40213
  The integration-level OAuth app credentials. `null` for `api_key`
37410
- integrations, which hold no OAuth credentials (keys are installed
37411
- per-tenant).
40214
+ and `client_credentials` integrations, which hold no
40215
+ integration-level credentials (secrets are installed per-tenant).
37412
40216
  oneOf:
37413
40217
  - type: object
37414
40218
  properties:
@@ -37903,7 +40707,11 @@ components:
37903
40707
  type: string
37904
40708
  description: >-
37905
40709
  If the integration has requested scopes that aren't present
37906
- on the access token, they're listed here.
40710
+ on the access token, they're listed here. The scopes granted
40711
+ to a client-credentials token are governed by the connected
40712
+ organization's client application, so the integration's
40713
+ configured scopes are requests or defaults rather than
40714
+ guarantees.
37907
40715
  example: []
37908
40716
  metadata:
37909
40717
  type: object
@@ -38517,6 +41325,169 @@ components:
38517
41325
  - default
38518
41326
  - created_at
38519
41327
  - updated_at
41328
+ SamlIdpSigningCertificate:
41329
+ type: object
41330
+ properties:
41331
+ object:
41332
+ type: string
41333
+ description: Distinguishes the SAML Identity Provider signing certificate object.
41334
+ const: saml_idp_signing_certificate
41335
+ id:
41336
+ type: string
41337
+ description: Unique identifier for the Identity Provider signing certificate.
41338
+ example: saml_x509_cert_01E4ZCR3C56J083X43JQXF3JK5
41339
+ value:
41340
+ type: string
41341
+ description: The PEM-encoded public X.509 certificate.
41342
+ example: '-----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----'
41343
+ not_before:
41344
+ format: date-time
41345
+ type:
41346
+ - string
41347
+ - 'null'
41348
+ description: When the certificate becomes valid.
41349
+ example: '2026-01-15T12:00:00.000Z'
41350
+ not_after:
41351
+ format: date-time
41352
+ type:
41353
+ - string
41354
+ - 'null'
41355
+ description: When the certificate expires.
41356
+ example: '2026-01-15T12:00:00.000Z'
41357
+ created_at:
41358
+ format: date-time
41359
+ type: string
41360
+ description: An ISO 8601 timestamp.
41361
+ example: '2026-01-15T12:00:00.000Z'
41362
+ required:
41363
+ - object
41364
+ - id
41365
+ - value
41366
+ - not_before
41367
+ - not_after
41368
+ - created_at
41369
+ SamlIdpSigningCertificateList:
41370
+ type: object
41371
+ properties:
41372
+ object:
41373
+ type: string
41374
+ example: list
41375
+ const: list
41376
+ data:
41377
+ type: array
41378
+ items:
41379
+ $ref: '#/components/schemas/SamlIdpSigningCertificate'
41380
+ description: >-
41381
+ Every Identity Provider signing certificate on the Connection,
41382
+ including expired ones, oldest first.
41383
+ required:
41384
+ - object
41385
+ - data
41386
+ SamlSpEncryptionCertificate:
41387
+ type: object
41388
+ properties:
41389
+ object:
41390
+ type: string
41391
+ description: >-
41392
+ Distinguishes the SAML Service Provider encryption certificate
41393
+ object.
41394
+ const: saml_sp_encryption_certificate
41395
+ id:
41396
+ type: string
41397
+ description: >-
41398
+ Unique identifier for the Service Provider encryption key pair.
41399
+ WorkOS holds the corresponding private key, which is never exposed.
41400
+ example: saml_enc_key_pair_01E4ZCR3C56J083X43JQXF3JK5
41401
+ value:
41402
+ type: string
41403
+ description: The PEM-encoded public X.509 certificate.
41404
+ example: '-----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----'
41405
+ not_before:
41406
+ format: date-time
41407
+ type:
41408
+ - string
41409
+ - 'null'
41410
+ description: When the certificate becomes valid.
41411
+ example: '2026-01-15T12:00:00.000Z'
41412
+ not_after:
41413
+ format: date-time
41414
+ type:
41415
+ - string
41416
+ - 'null'
41417
+ description: When the certificate expires.
41418
+ example: '2026-01-15T12:00:00.000Z'
41419
+ created_at:
41420
+ format: date-time
41421
+ type: string
41422
+ description: An ISO 8601 timestamp.
41423
+ example: '2026-01-15T12:00:00.000Z'
41424
+ required:
41425
+ - object
41426
+ - id
41427
+ - value
41428
+ - not_before
41429
+ - not_after
41430
+ - created_at
41431
+ SamlSpEncryptionCertificateList:
41432
+ type: object
41433
+ properties:
41434
+ object:
41435
+ type: string
41436
+ example: list
41437
+ const: list
41438
+ data:
41439
+ type: array
41440
+ items:
41441
+ $ref: '#/components/schemas/SamlSpEncryptionCertificate'
41442
+ description: >-
41443
+ Every Service Provider encryption certificate on the Connection,
41444
+ including expired ones.
41445
+ required:
41446
+ - object
41447
+ - data
41448
+ SamlSpSigningCertificate:
41449
+ type: object
41450
+ properties:
41451
+ object:
41452
+ type: string
41453
+ description: Distinguishes the SAML Service Provider signing certificate object.
41454
+ const: saml_sp_signing_certificate
41455
+ id:
41456
+ type: string
41457
+ description: >-
41458
+ Unique identifier for the Service Provider signing key pair. WorkOS
41459
+ holds the corresponding private key, which is never exposed.
41460
+ example: saml_party_trust_01E4ZCR3C56J083X43JQXF3JK5
41461
+ value:
41462
+ type: string
41463
+ description: The PEM-encoded public X.509 certificate.
41464
+ example: '-----BEGIN CERTIFICATE-----MIIC...-----END CERTIFICATE-----'
41465
+ not_before:
41466
+ format: date-time
41467
+ type:
41468
+ - string
41469
+ - 'null'
41470
+ description: When the certificate becomes valid.
41471
+ example: '2026-01-15T12:00:00.000Z'
41472
+ not_after:
41473
+ format: date-time
41474
+ type:
41475
+ - string
41476
+ - 'null'
41477
+ description: When the certificate expires.
41478
+ example: '2026-01-15T12:00:00.000Z'
41479
+ created_at:
41480
+ format: date-time
41481
+ type: string
41482
+ description: An ISO 8601 timestamp.
41483
+ example: '2026-01-15T12:00:00.000Z'
41484
+ required:
41485
+ - object
41486
+ - id
41487
+ - value
41488
+ - not_before
41489
+ - not_after
41490
+ - created_at
38520
41491
  Team:
38521
41492
  type: object
38522
41493
  properties: