@workos/openapi-spec 0.90.0 → 0.92.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.
@@ -1783,6 +1783,13 @@ paths:
1783
1783
  `after` fetches newer records). Defaults to `normal`.
1784
1784
  schema:
1785
1785
  $ref: '#/components/schemas/PaginationOrder'
1786
+ - name: organization_id
1787
+ required: false
1788
+ in: query
1789
+ description: Only return sessions of instances acting within this organization.
1790
+ schema:
1791
+ type: string
1792
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
1786
1793
  - name: agent_blueprint_id
1787
1794
  required: false
1788
1795
  in: query
@@ -10352,7 +10359,9 @@ paths:
10352
10359
  description: >-
10353
10360
  Lists the environment's data integrations configured with `custom` or
10354
10361
  `organization` credentials, including custom providers and API key
10355
- integrations.
10362
+ integrations. Both user-owned and organization-owned roots are returned,
10363
+ each as its own row with an `ownership`; filter with `ownership` to
10364
+ return only one kind.
10356
10365
  operationId: DataIntegrationsManagementController_listDataIntegrations
10357
10366
  parameters:
10358
10367
  - name: before
@@ -10401,6 +10410,19 @@ paths:
10401
10410
  `after` fetches newer records). Defaults to `normal`.
10402
10411
  schema:
10403
10412
  $ref: '#/components/schemas/PaginationOrder'
10413
+ - name: ownership
10414
+ required: false
10415
+ in: query
10416
+ description: >-
10417
+ Only return Data Integrations with this ownership: `user` for the
10418
+ integrations users connect their own accounts to, or `organization`
10419
+ for the roots organizations connect to. Omit to return both.
10420
+ schema:
10421
+ example: user
10422
+ enum:
10423
+ - user
10424
+ - organization
10425
+ type: string
10404
10426
  responses:
10405
10427
  '200':
10406
10428
  description: OK
@@ -10410,13 +10432,41 @@ paths:
10410
10432
  $ref: '#/components/schemas/DataIntegrationList'
10411
10433
  '401':
10412
10434
  description: Unauthorized
10435
+ '404':
10436
+ description: >-
10437
+ Organization-owned data integrations are not available for this
10438
+ environment.
10439
+ content:
10440
+ application/json:
10441
+ schema:
10442
+ type: object
10443
+ properties:
10444
+ message:
10445
+ type: string
10446
+ description: A human-readable description of the error.
10447
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
10448
+ required:
10449
+ - message
10450
+ '422':
10451
+ description: Unprocessable Entity
10452
+ content:
10453
+ application/json:
10454
+ schema:
10455
+ type: object
10456
+ properties:
10457
+ message:
10458
+ type: string
10459
+ description: A human-readable description of the error.
10460
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
10461
+ required:
10462
+ - message
10413
10463
  summary: List data integrations
10414
10464
  tags:
10415
10465
  - pipes
10416
10466
  x-feature-flag: pipes-management-api
10417
10467
  /data-integrations/{slug}:
10418
10468
  get:
10419
- description: Retrieves a data integration by its slug.
10469
+ description: Retrieves the user-owned data integration by its slug.
10420
10470
  operationId: DataIntegrationsManagementController_getDataIntegration
10421
10471
  parameters:
10422
10472
  - name: slug
@@ -10454,9 +10504,9 @@ paths:
10454
10504
  x-feature-flag: pipes-management-api
10455
10505
  put:
10456
10506
  description: >-
10457
- Updates the description, enabled state, or custom credentials of a data
10458
- integration. For custom providers, `custom_provider` updates the OAuth
10459
- definition.
10507
+ Updates the description, enabled state, or custom credentials of the
10508
+ user-owned data integration. For custom providers, `custom_provider`
10509
+ updates the OAuth definition.
10460
10510
  operationId: DataIntegrationsManagementController_updateDataIntegration
10461
10511
  parameters:
10462
10512
  - name: slug
@@ -10554,8 +10604,9 @@ paths:
10554
10604
  x-feature-flag: pipes-management-api
10555
10605
  delete:
10556
10606
  description: >-
10557
- Deletes a data integration and all of its connected installations. For a
10558
- custom provider, also deletes the custom provider definition.
10607
+ Deletes the user-owned data integration and all of its connected
10608
+ installations. For a custom provider, the provider definition is deleted
10609
+ once no organization-owned root references it either.
10559
10610
  operationId: DataIntegrationsManagementController_deleteDataIntegration
10560
10611
  parameters:
10561
10612
  - name: slug
@@ -11047,6 +11098,15 @@ paths:
11047
11098
  `organization` vends the organization's shared connection
11048
11099
  and requires `organization_id`.
11049
11100
  example: user
11101
+ supports_multiple_connections:
11102
+ type: boolean
11103
+ description: >-
11104
+ Set to `true` to use the plural connection contract. If no
11105
+ `connected_account_id` is supplied and several connections
11106
+ match, the request returns `account_selection_required`.
11107
+ When omitted or `false`, only the compatibility connection
11108
+ is considered.
11109
+ example: true
11050
11110
  required:
11051
11111
  - user_id
11052
11112
  responses:
@@ -11136,104 +11196,71 @@ paths:
11136
11196
  summary: Vend credentials for a connected account
11137
11197
  tags:
11138
11198
  - pipes
11139
- /data-integrations/{slug}/token:
11140
- post:
11199
+ /data-integrations/{slug}/organization:
11200
+ get:
11141
11201
  description: >-
11142
- Fetches a valid OAuth access token for a user's connected account.
11143
- WorkOS automatically handles token refresh, ensuring you always receive
11144
- a valid, non-expired token.
11145
- operationId: DataIntegrationsController_getUserlandUserToken
11202
+ Retrieves the organization-owned data integration for a provider by its
11203
+ slug. The `/organization` suffix selects the environment-level
11204
+ organization-owned root for the provider; it does not name a particular
11205
+ organization.
11206
+ operationId: DataIntegrationsManagementController_getOrganizationDataIntegration
11146
11207
  parameters:
11147
11208
  - name: slug
11148
11209
  required: true
11149
11210
  in: path
11150
- description: The identifier of the integration.
11211
+ description: The slug identifier of the data integration.
11151
11212
  schema:
11152
11213
  example: github
11153
11214
  type: string
11154
- requestBody:
11155
- required: true
11156
- content:
11157
- application/json:
11158
- schema:
11159
- type: object
11160
- properties:
11161
- user_id:
11162
- type: string
11163
- description: >-
11164
- A [User](/reference/authkit/user) identifier. When
11165
- `connection_owner` is `organization`, this is the user the
11166
- credentials are vended on behalf of; they must be an active
11167
- member of the organization.
11168
- example: user_01EHZNVPK3SFK441A1RGBFSHRT
11169
- organization_id:
11170
- type: string
11171
- description: >-
11172
- An [Organization](/reference/organization) identifier.
11173
- Optional parameter to scope the connection to a specific
11174
- organization. Required when `connection_owner` is
11175
- `organization`.
11176
- example: org_01EHZNVPK3SFK441A1RGBFSHRT
11177
- connected_account_id:
11178
- type: string
11179
- minLength: 1
11180
- description: >-
11181
- A [connected account](/reference/pipes/connected-account)
11182
- identifier. Use this to select a specific connection when
11183
- the user has several for this provider.
11184
- example: data_installation_01EHZNVPK3SFK441A1RGBFSHRT
11185
- connection_owner:
11186
- type: string
11187
- enum:
11188
- - user
11189
- - organization
11190
- description: >-
11191
- Which connection to vend from. `user` (the default) vends
11192
- the user's own connection and requires `user_id`.
11193
- `organization` vends the organization's shared connection
11194
- and requires `organization_id`.
11195
- example: user
11196
- required:
11197
- - user_id
11198
11215
  responses:
11199
11216
  '200':
11200
- description: OK
11201
11217
  content:
11202
11218
  application/json:
11203
11219
  schema:
11204
- $ref: '#/components/schemas/DataIntegrationAccessTokenResponse'
11205
- '400':
11206
- description: Bad Request
11207
- content:
11208
- application/json:
11209
- schema:
11210
- type: object
11211
- properties:
11212
- message:
11213
- type: string
11214
- description: A human-readable description of the error.
11215
- example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11216
- required:
11217
- - message
11220
+ $ref: '#/components/schemas/DataIntegration'
11221
+ example:
11222
+ object: data_integration
11223
+ id: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
11224
+ slug: github
11225
+ integration_type: github
11226
+ ownership: organization
11227
+ description: Production GitHub app
11228
+ enabled: true
11229
+ state: valid
11230
+ scopes:
11231
+ - repo
11232
+ - read:org
11233
+ redirect_uri: >-
11234
+ https://api.workos.com/data-integrations/github/dik_01EHZNVPK3SFK441A1RGBFSHRT/callback
11235
+ auth_methods:
11236
+ - oauth
11237
+ credentials:
11238
+ type: custom
11239
+ client_id: Iv1.abc123
11240
+ redacted_client_secret: '6789'
11241
+ installation: null
11242
+ config:
11243
+ account: myorg-myaccount
11244
+ custom_provider:
11245
+ name: My OAuth App
11246
+ authorization_url: https://provider.example.com/oauth/authorize
11247
+ token_url: https://provider.example.com/oauth/token
11248
+ refresh_token_url: https://provider.example.com/oauth/token
11249
+ pkce_enabled: true
11250
+ request_scope_separator: ' '
11251
+ scopes_required: false
11252
+ client_secret_required: true
11253
+ additional_authorization_parameters:
11254
+ prompt: consent
11255
+ token_body_content_type: application/x-www-form-urlencoded
11256
+ authenticate_via: request_body
11257
+ created_at: '2026-01-15T12:00:00.000Z'
11258
+ updated_at: '2026-01-15T12:00:00.000Z'
11259
+ description: OK
11218
11260
  '401':
11219
11261
  description: Unauthorized
11220
- '403':
11221
- description: >-
11222
- The user is not an active member of the organization named for an
11223
- organization connection.
11224
- content:
11225
- application/json:
11226
- schema:
11227
- type: object
11228
- properties:
11229
- message:
11230
- type: string
11231
- description: A human-readable description of the error.
11232
- example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11233
- required:
11234
- - message
11235
11262
  '404':
11236
- description: The data integration or selected connected account was not found.
11263
+ description: Not Found
11237
11264
  content:
11238
11265
  application/json:
11239
11266
  schema:
@@ -11245,112 +11272,80 @@ paths:
11245
11272
  example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11246
11273
  required:
11247
11274
  - message
11248
- '409':
11249
- description: >-
11250
- Several connected accounts match this user for the provider; one
11251
- must be named.
11252
- content:
11253
- application/json:
11254
- schema:
11255
- $ref: '#/components/schemas/AccountSelectionRequiredError'
11256
- '422':
11257
- description: >-
11258
- The matched installation uses a different auth method than this
11259
- endpoint expects.
11260
- content:
11261
- application/json:
11262
- schema:
11263
- $ref: '#/components/schemas/AuthMethodMismatchError'
11264
- summary: Get an access token for a connected account
11275
+ summary: Get an organization-owned data integration
11265
11276
  tags:
11266
11277
  - pipes
11267
- /directories:
11268
- get:
11278
+ x-feature-flag: pipes-management-api
11279
+ put:
11269
11280
  description: >-
11270
- Get a list of all of your existing directories matching the criteria
11271
- specified.
11272
- operationId: DirectoriesController_list
11281
+ Updates the description, enabled state, or custom credentials of the
11282
+ organization-owned data integration for a provider. For custom
11283
+ providers, `custom_provider` updates the OAuth definition, which is
11284
+ shared with the user-owned root. The `/organization` suffix selects the
11285
+ environment-level organization-owned root for the provider; it does not
11286
+ name a particular organization.
11287
+ operationId: DataIntegrationsManagementController_updateOrganizationDataIntegration
11273
11288
  parameters:
11274
- - name: before
11275
- required: false
11276
- in: query
11277
- description: >-
11278
- An object ID that defines your place in the list. When the ID is not
11279
- present, you are at the end of the list.
11280
- schema:
11281
- example: obj_1234567890
11282
- type: string
11283
- - name: after
11284
- required: false
11285
- in: query
11286
- description: >-
11287
- An object ID that defines your place in the list. When the ID is not
11288
- present, you are at the end of the list.
11289
- schema:
11290
- example: obj_1234567890
11291
- type: string
11292
- - name: limit
11293
- required: false
11294
- in: query
11295
- description: >-
11296
- Upper limit on the number of objects to return, between `1` and
11297
- `100`.
11298
- schema:
11299
- minimum: 1
11300
- maximum: 100
11301
- default: 10
11302
- example: 10
11303
- type: integer
11304
- - name: order
11305
- required: false
11306
- in: query
11307
- description: Order the results by the creation time. Defaults to `normal`.
11308
- schema:
11309
- $ref: '#/components/schemas/PaginationOrder'
11310
- - name: organization_id
11311
- required: false
11312
- in: query
11313
- description: Filter Directories by their associated organization.
11314
- schema:
11315
- example: org_01EHZNVPK3SFK441A1RGBFSHRT
11316
- type: string
11317
- - name: search
11318
- required: false
11319
- in: query
11320
- description: Searchable text to match against Directory names.
11321
- schema:
11322
- example: Foo Corp
11323
- type: string
11324
- - name: domain
11325
- required: false
11326
- in: query
11327
- description: Filter Directories by their associated domain.
11328
- deprecated: true
11289
+ - name: slug
11290
+ required: true
11291
+ in: path
11292
+ description: The slug identifier of the data integration.
11329
11293
  schema:
11330
- example: foo-corp.com
11294
+ example: github
11331
11295
  type: string
11296
+ requestBody:
11297
+ required: true
11298
+ content:
11299
+ application/json:
11300
+ schema:
11301
+ $ref: '#/components/schemas/UpdateDataIntegrationDto'
11332
11302
  responses:
11333
11303
  '200':
11334
- description: OK
11335
11304
  content:
11336
11305
  application/json:
11337
11306
  schema:
11338
- $ref: '#/components/schemas/DirectoryList'
11339
- '403':
11340
- description: Forbidden
11341
- content:
11342
- application/json:
11343
- schema:
11344
- type: object
11345
- properties:
11346
- message:
11347
- type: string
11348
- description: A human-readable description of the error.
11349
- example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11350
- required:
11351
- - message
11352
- '422':
11353
- description: Unprocessable Entity
11307
+ $ref: '#/components/schemas/DataIntegration'
11308
+ example:
11309
+ object: data_integration
11310
+ id: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
11311
+ slug: github
11312
+ integration_type: github
11313
+ ownership: organization
11314
+ description: Production GitHub app
11315
+ enabled: true
11316
+ state: valid
11317
+ scopes:
11318
+ - repo
11319
+ - read:org
11320
+ redirect_uri: >-
11321
+ https://api.workos.com/data-integrations/github/dik_01EHZNVPK3SFK441A1RGBFSHRT/callback
11322
+ auth_methods:
11323
+ - oauth
11324
+ credentials:
11325
+ type: custom
11326
+ client_id: Iv1.abc123
11327
+ redacted_client_secret: '6789'
11328
+ installation: null
11329
+ config:
11330
+ account: myorg-myaccount
11331
+ custom_provider:
11332
+ name: My OAuth App
11333
+ authorization_url: https://provider.example.com/oauth/authorize
11334
+ token_url: https://provider.example.com/oauth/token
11335
+ refresh_token_url: https://provider.example.com/oauth/token
11336
+ pkce_enabled: true
11337
+ request_scope_separator: ' '
11338
+ scopes_required: false
11339
+ client_secret_required: true
11340
+ additional_authorization_parameters:
11341
+ prompt: consent
11342
+ token_body_content_type: application/x-www-form-urlencoded
11343
+ authenticate_via: request_body
11344
+ created_at: '2026-01-15T12:00:00.000Z'
11345
+ updated_at: '2026-01-15T12:00:00.000Z'
11346
+ description: OK
11347
+ '400':
11348
+ description: Bad Request
11354
11349
  content:
11355
11350
  application/json:
11356
11351
  schema:
@@ -11362,28 +11357,359 @@ paths:
11362
11357
  example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11363
11358
  required:
11364
11359
  - message
11365
- summary: List Directories
11366
- tags:
11367
- - directories
11368
- /directories/{id}:
11369
- get:
11370
- description: Get the details of an existing directory.
11371
- operationId: DirectoriesController_find
11372
- parameters:
11373
- - name: id
11374
- required: true
11375
- in: path
11376
- description: Unique identifier for the Directory.
11377
- schema:
11378
- example: directory_01ECAZ4NV9QMV47GW873HDCX74
11379
- type: string
11380
- responses:
11381
- '200':
11382
- description: OK
11383
- content:
11384
- application/json:
11385
- schema:
11386
- $ref: '#/components/schemas/Directory'
11360
+ '401':
11361
+ description: Unauthorized
11362
+ '403':
11363
+ description: Forbidden
11364
+ content:
11365
+ application/json:
11366
+ schema:
11367
+ type: object
11368
+ properties:
11369
+ message:
11370
+ type: string
11371
+ description: A human-readable description of the error.
11372
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11373
+ required:
11374
+ - message
11375
+ '404':
11376
+ description: Not Found
11377
+ content:
11378
+ application/json:
11379
+ schema:
11380
+ type: object
11381
+ properties:
11382
+ message:
11383
+ type: string
11384
+ description: A human-readable description of the error.
11385
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11386
+ required:
11387
+ - message
11388
+ '409':
11389
+ description: ''
11390
+ content:
11391
+ application/json:
11392
+ schema:
11393
+ type: object
11394
+ properties:
11395
+ message:
11396
+ type: string
11397
+ description: A human-readable description of the error.
11398
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11399
+ required:
11400
+ - message
11401
+ '422':
11402
+ description: Unprocessable Entity
11403
+ content:
11404
+ application/json:
11405
+ schema:
11406
+ type: object
11407
+ properties:
11408
+ message:
11409
+ type: string
11410
+ description: A human-readable description of the error.
11411
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11412
+ required:
11413
+ - message
11414
+ summary: Update an organization-owned data integration
11415
+ tags:
11416
+ - pipes
11417
+ x-feature-flag: pipes-management-api
11418
+ delete:
11419
+ description: >-
11420
+ Deletes the organization-owned data integration for a provider and all
11421
+ of its connected installations. For a custom provider, the provider
11422
+ definition is deleted once no user-owned root references it either. The
11423
+ `/organization` suffix selects the environment-level organization-owned
11424
+ root for the provider; it does not name a particular organization.
11425
+ operationId: DataIntegrationsManagementController_deleteOrganizationDataIntegration
11426
+ parameters:
11427
+ - name: slug
11428
+ required: true
11429
+ in: path
11430
+ description: The slug identifier of the data integration.
11431
+ schema:
11432
+ example: github
11433
+ type: string
11434
+ responses:
11435
+ '204':
11436
+ description: No Content
11437
+ '401':
11438
+ description: Unauthorized
11439
+ '404':
11440
+ description: Not Found
11441
+ content:
11442
+ application/json:
11443
+ schema:
11444
+ type: object
11445
+ properties:
11446
+ message:
11447
+ type: string
11448
+ description: A human-readable description of the error.
11449
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11450
+ required:
11451
+ - message
11452
+ summary: Delete an organization-owned data integration
11453
+ tags:
11454
+ - pipes
11455
+ x-feature-flag: pipes-management-api
11456
+ /data-integrations/{slug}/token:
11457
+ post:
11458
+ description: >-
11459
+ Fetches a valid OAuth access token for a user's connected account.
11460
+ WorkOS automatically handles token refresh, ensuring you always receive
11461
+ a valid, non-expired token.
11462
+ operationId: DataIntegrationsController_getUserlandUserToken
11463
+ parameters:
11464
+ - name: slug
11465
+ required: true
11466
+ in: path
11467
+ description: The identifier of the integration.
11468
+ schema:
11469
+ example: github
11470
+ type: string
11471
+ requestBody:
11472
+ required: true
11473
+ content:
11474
+ application/json:
11475
+ schema:
11476
+ type: object
11477
+ properties:
11478
+ user_id:
11479
+ type: string
11480
+ description: >-
11481
+ A [User](/reference/authkit/user) identifier. When
11482
+ `connection_owner` is `organization`, this is the user the
11483
+ credentials are vended on behalf of; they must be an active
11484
+ member of the organization.
11485
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
11486
+ organization_id:
11487
+ type: string
11488
+ description: >-
11489
+ An [Organization](/reference/organization) identifier.
11490
+ Optional parameter to scope the connection to a specific
11491
+ organization. Required when `connection_owner` is
11492
+ `organization`.
11493
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
11494
+ connected_account_id:
11495
+ type: string
11496
+ minLength: 1
11497
+ description: >-
11498
+ A [connected account](/reference/pipes/connected-account)
11499
+ identifier. Use this to select a specific connection when
11500
+ the user has several for this provider.
11501
+ example: data_installation_01EHZNVPK3SFK441A1RGBFSHRT
11502
+ connection_owner:
11503
+ type: string
11504
+ enum:
11505
+ - user
11506
+ - organization
11507
+ description: >-
11508
+ Which connection to vend from. `user` (the default) vends
11509
+ the user's own connection and requires `user_id`.
11510
+ `organization` vends the organization's shared connection
11511
+ and requires `organization_id`.
11512
+ example: user
11513
+ supports_multiple_connections:
11514
+ type: boolean
11515
+ description: >-
11516
+ Set to `true` to use the plural connection contract. If no
11517
+ `connected_account_id` is supplied and several connections
11518
+ match, the request returns `account_selection_required`.
11519
+ When omitted or `false`, only the compatibility connection
11520
+ is considered.
11521
+ example: true
11522
+ required:
11523
+ - user_id
11524
+ responses:
11525
+ '200':
11526
+ description: OK
11527
+ content:
11528
+ application/json:
11529
+ schema:
11530
+ $ref: '#/components/schemas/DataIntegrationAccessTokenResponse'
11531
+ '400':
11532
+ description: Bad Request
11533
+ content:
11534
+ application/json:
11535
+ schema:
11536
+ type: object
11537
+ properties:
11538
+ message:
11539
+ type: string
11540
+ description: A human-readable description of the error.
11541
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11542
+ required:
11543
+ - message
11544
+ '401':
11545
+ description: Unauthorized
11546
+ '403':
11547
+ description: >-
11548
+ The user is not an active member of the organization named for an
11549
+ organization connection.
11550
+ content:
11551
+ application/json:
11552
+ schema:
11553
+ type: object
11554
+ properties:
11555
+ message:
11556
+ type: string
11557
+ description: A human-readable description of the error.
11558
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11559
+ required:
11560
+ - message
11561
+ '404':
11562
+ description: The data integration or selected connected account was not found.
11563
+ content:
11564
+ application/json:
11565
+ schema:
11566
+ type: object
11567
+ properties:
11568
+ message:
11569
+ type: string
11570
+ description: A human-readable description of the error.
11571
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11572
+ required:
11573
+ - message
11574
+ '409':
11575
+ description: >-
11576
+ Several connected accounts match this user for the provider; one
11577
+ must be named.
11578
+ content:
11579
+ application/json:
11580
+ schema:
11581
+ $ref: '#/components/schemas/AccountSelectionRequiredError'
11582
+ '422':
11583
+ description: >-
11584
+ The matched installation uses a different auth method than this
11585
+ endpoint expects.
11586
+ content:
11587
+ application/json:
11588
+ schema:
11589
+ $ref: '#/components/schemas/AuthMethodMismatchError'
11590
+ summary: Get an access token for a connected account
11591
+ tags:
11592
+ - pipes
11593
+ /directories:
11594
+ get:
11595
+ description: >-
11596
+ Get a list of all of your existing directories matching the criteria
11597
+ specified.
11598
+ operationId: DirectoriesController_list
11599
+ parameters:
11600
+ - name: before
11601
+ required: false
11602
+ in: query
11603
+ description: >-
11604
+ An object ID that defines your place in the list. When the ID is not
11605
+ present, you are at the end of the list.
11606
+ schema:
11607
+ example: obj_1234567890
11608
+ type: string
11609
+ - name: after
11610
+ required: false
11611
+ in: query
11612
+ description: >-
11613
+ An object ID that defines your place in the list. When the ID is not
11614
+ present, you are at the end of the list.
11615
+ schema:
11616
+ example: obj_1234567890
11617
+ type: string
11618
+ - name: limit
11619
+ required: false
11620
+ in: query
11621
+ description: >-
11622
+ Upper limit on the number of objects to return, between `1` and
11623
+ `100`.
11624
+ schema:
11625
+ minimum: 1
11626
+ maximum: 100
11627
+ default: 10
11628
+ example: 10
11629
+ type: integer
11630
+ - name: order
11631
+ required: false
11632
+ in: query
11633
+ description: Order the results by the creation time. Defaults to `normal`.
11634
+ schema:
11635
+ $ref: '#/components/schemas/PaginationOrder'
11636
+ - name: organization_id
11637
+ required: false
11638
+ in: query
11639
+ description: Filter Directories by their associated organization.
11640
+ schema:
11641
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
11642
+ type: string
11643
+ - name: search
11644
+ required: false
11645
+ in: query
11646
+ description: Searchable text to match against Directory names.
11647
+ schema:
11648
+ example: Foo Corp
11649
+ type: string
11650
+ - name: domain
11651
+ required: false
11652
+ in: query
11653
+ description: Filter Directories by their associated domain.
11654
+ deprecated: true
11655
+ schema:
11656
+ example: foo-corp.com
11657
+ type: string
11658
+ responses:
11659
+ '200':
11660
+ description: OK
11661
+ content:
11662
+ application/json:
11663
+ schema:
11664
+ $ref: '#/components/schemas/DirectoryList'
11665
+ '403':
11666
+ description: Forbidden
11667
+ content:
11668
+ application/json:
11669
+ schema:
11670
+ type: object
11671
+ properties:
11672
+ message:
11673
+ type: string
11674
+ description: A human-readable description of the error.
11675
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11676
+ required:
11677
+ - message
11678
+ '422':
11679
+ description: Unprocessable Entity
11680
+ content:
11681
+ application/json:
11682
+ schema:
11683
+ type: object
11684
+ properties:
11685
+ message:
11686
+ type: string
11687
+ description: A human-readable description of the error.
11688
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
11689
+ required:
11690
+ - message
11691
+ summary: List Directories
11692
+ tags:
11693
+ - directories
11694
+ /directories/{id}:
11695
+ get:
11696
+ description: Get the details of an existing directory.
11697
+ operationId: DirectoriesController_find
11698
+ parameters:
11699
+ - name: id
11700
+ required: true
11701
+ in: path
11702
+ description: Unique identifier for the Directory.
11703
+ schema:
11704
+ example: directory_01ECAZ4NV9QMV47GW873HDCX74
11705
+ type: string
11706
+ responses:
11707
+ '200':
11708
+ description: OK
11709
+ content:
11710
+ application/json:
11711
+ schema:
11712
+ $ref: '#/components/schemas/Directory'
11387
11713
  '403':
11388
11714
  description: Forbidden
11389
11715
  content:
@@ -17118,6 +17444,235 @@ paths:
17118
17444
  summary: Authenticate
17119
17445
  tags:
17120
17446
  - user-management.authentication
17447
+ /user_management/authkit_oauth_resources:
17448
+ post:
17449
+ description: >-
17450
+ Adds an MCP resource indicator (RFC 8707) to an environment, leaving any
17451
+ others in place.
17452
+ operationId: AuthkitOauthResourcesController_create
17453
+ parameters: []
17454
+ requestBody:
17455
+ required: true
17456
+ content:
17457
+ application/json:
17458
+ schema:
17459
+ $ref: '#/components/schemas/CreateAuthkitOauthResourceDto'
17460
+ responses:
17461
+ '201':
17462
+ description: MCP resource indicator created successfully.
17463
+ content:
17464
+ application/json:
17465
+ schema:
17466
+ $ref: '#/components/schemas/AuthkitOauthResource'
17467
+ example:
17468
+ object: authkit_oauth_resource
17469
+ id: authkit_oauth_resource_01EHZNVPK3SFK441A1RGBFSHRT
17470
+ uri: https://api.example.com
17471
+ default: false
17472
+ created_at: '2026-01-15T12:00:00.000Z'
17473
+ updated_at: '2026-01-15T12:00:00.000Z'
17474
+ '401':
17475
+ description: Unauthorized
17476
+ content:
17477
+ application/json:
17478
+ schema:
17479
+ type: object
17480
+ properties:
17481
+ message:
17482
+ type: string
17483
+ description: A human-readable description of the error.
17484
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17485
+ required:
17486
+ - message
17487
+ example:
17488
+ message: Unauthorized
17489
+ '422':
17490
+ description: Validation failed.
17491
+ content:
17492
+ application/json:
17493
+ schema:
17494
+ type: object
17495
+ properties:
17496
+ message:
17497
+ type: string
17498
+ description: A human-readable description of the error.
17499
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17500
+ required:
17501
+ - message
17502
+ example:
17503
+ message: >-
17504
+ AuthKit OAuth resource 'https://api.example.com' already
17505
+ exists.
17506
+ summary: Create an MCP resource indicator
17507
+ tags:
17508
+ - user-management.authkit-oauth-resources
17509
+ get:
17510
+ description: Lists the MCP resource indicators configured for an environment.
17511
+ operationId: AuthkitOauthResourcesController_list
17512
+ parameters:
17513
+ - name: before
17514
+ required: false
17515
+ in: query
17516
+ description: >-
17517
+ An object ID that defines your place in the list. When the ID is not
17518
+ present, you are at the end of the list. For example, if you make a
17519
+ list request and receive 100 objects, ending with `"obj_123"`, your
17520
+ subsequent call can include `before="obj_123"` to fetch a new batch
17521
+ of objects before `"obj_123"`.
17522
+ schema:
17523
+ example: xxx_01HXYZ123456789ABCDEFGHIJ
17524
+ type: string
17525
+ - name: after
17526
+ required: false
17527
+ in: query
17528
+ description: >-
17529
+ An object ID that defines your place in the list. When the ID is not
17530
+ present, you are at the end of the list. For example, if you make a
17531
+ list request and receive 100 objects, ending with `"obj_123"`, your
17532
+ subsequent call can include `after="obj_123"` to fetch a new batch
17533
+ of objects after `"obj_123"`.
17534
+ schema:
17535
+ example: xxx_01HXYZ987654321KJIHGFEDCBA
17536
+ type: string
17537
+ - name: limit
17538
+ required: false
17539
+ in: query
17540
+ description: >-
17541
+ Upper limit on the number of objects to return, between `1` and
17542
+ `100`.
17543
+ schema:
17544
+ minimum: 1
17545
+ maximum: 100
17546
+ default: 10
17547
+ example: 10
17548
+ type: integer
17549
+ - name: order
17550
+ required: false
17551
+ in: query
17552
+ description: >-
17553
+ Order the results by the creation time. Supported values are `"asc"`
17554
+ (ascending), `"desc"` (descending), and `"normal"` (descending with
17555
+ reversed cursor semantics where `before` fetches older records and
17556
+ `after` fetches newer records). Defaults to `normal`.
17557
+ schema:
17558
+ $ref: '#/components/schemas/PaginationOrder'
17559
+ responses:
17560
+ '200':
17561
+ description: MCP resource indicators listed successfully.
17562
+ content:
17563
+ application/json:
17564
+ schema:
17565
+ allOf:
17566
+ - type: object
17567
+ properties:
17568
+ object:
17569
+ type: string
17570
+ description: Indicates this is a list response.
17571
+ const: list
17572
+ list_metadata:
17573
+ type: object
17574
+ properties:
17575
+ before:
17576
+ type:
17577
+ - string
17578
+ - 'null'
17579
+ description: >-
17580
+ An object ID that defines your place in the list.
17581
+ When the ID is not present, you are at the start
17582
+ of the list.
17583
+ example: authkit_oauth_resource_01HXYZ123456789ABCDEFGHIJ
17584
+ after:
17585
+ type:
17586
+ - string
17587
+ - 'null'
17588
+ description: >-
17589
+ An object ID that defines your place in the list.
17590
+ When the ID is not present, you are at the end of
17591
+ the list.
17592
+ example: authkit_oauth_resource_01HXYZ987654321KJIHGFEDCBA
17593
+ required:
17594
+ - before
17595
+ - after
17596
+ description: >-
17597
+ Pagination cursors for navigating between pages of
17598
+ results.
17599
+ - type: object
17600
+ properties:
17601
+ data:
17602
+ type: array
17603
+ description: The list of records for the current page.
17604
+ items:
17605
+ $ref: '#/components/schemas/AuthkitOauthResource'
17606
+ '401':
17607
+ description: Unauthorized
17608
+ content:
17609
+ application/json:
17610
+ schema:
17611
+ type: object
17612
+ properties:
17613
+ message:
17614
+ type: string
17615
+ description: A human-readable description of the error.
17616
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17617
+ required:
17618
+ - message
17619
+ example:
17620
+ message: Unauthorized
17621
+ summary: List MCP resource indicators
17622
+ tags:
17623
+ - user-management.authkit-oauth-resources
17624
+ /user_management/authkit_oauth_resources/{id}:
17625
+ delete:
17626
+ description: >-
17627
+ Removes an MCP resource indicator from an environment. Any application
17628
+ consents granted against it are removed too.
17629
+ operationId: AuthkitOauthResourcesController_delete
17630
+ parameters:
17631
+ - name: id
17632
+ required: true
17633
+ in: path
17634
+ description: The ID of the MCP resource indicator to delete.
17635
+ schema:
17636
+ type: string
17637
+ example: authkit_oauth_resource_01EHZNVPK3SFK441A1RGBFSHRT
17638
+ responses:
17639
+ '204':
17640
+ description: MCP resource indicator deleted successfully.
17641
+ '401':
17642
+ description: Unauthorized
17643
+ content:
17644
+ application/json:
17645
+ schema:
17646
+ type: object
17647
+ properties:
17648
+ message:
17649
+ type: string
17650
+ description: A human-readable description of the error.
17651
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17652
+ required:
17653
+ - message
17654
+ example:
17655
+ message: Unauthorized
17656
+ '404':
17657
+ description: MCP resource indicator not found.
17658
+ content:
17659
+ application/json:
17660
+ schema:
17661
+ type: object
17662
+ properties:
17663
+ message:
17664
+ type: string
17665
+ description: A human-readable description of the error.
17666
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17667
+ required:
17668
+ - message
17669
+ example:
17670
+ message: >-
17671
+ AuthKit OAuth resource not found:
17672
+ 'authkit_oauth_resource_01EHZNVPK3SFK441A1RGBFSHRT'.
17673
+ summary: Delete an MCP resource indicator
17674
+ tags:
17675
+ - user-management.authkit-oauth-resources
17121
17676
  /user_management/authorize:
17122
17677
  get:
17123
17678
  description: >-
@@ -22270,6 +22825,15 @@ paths:
22270
22825
  schema:
22271
22826
  example: org_01EHZNVPK3SFK441A1RGBFSHRT
22272
22827
  type: string
22828
+ - name: supports_multiple_connections
22829
+ required: false
22830
+ in: query
22831
+ description: >-
22832
+ Set to `true` to use the plural connection contract. When omitted or
22833
+ `false`, only the compatibility connection is considered.
22834
+ schema:
22835
+ example: true
22836
+ type: boolean
22273
22837
  - name: connected_account_id
22274
22838
  required: false
22275
22839
  in: query
@@ -22331,7 +22895,9 @@ paths:
22331
22895
  description: >-
22332
22896
  Disconnects WorkOS's account for the user, including removing any stored
22333
22897
  access and refresh tokens. The user will need to reauthorize if they
22334
- want to reconnect. This does not revoke access on the provider side.
22898
+ want to reconnect. Access is not revoked on the provider side, except
22899
+ for the WorkOS OAuth provider, whose underlying AuthKit grant is
22900
+ revoked.
22335
22901
  operationId: DataIntegrationsUserManagementController_deleteUserDataInstallation
22336
22902
  parameters:
22337
22903
  - name: user_id
@@ -22359,6 +22925,15 @@ paths:
22359
22925
  schema:
22360
22926
  example: org_01EHZNVPK3SFK441A1RGBFSHRT
22361
22927
  type: string
22928
+ - name: supports_multiple_connections
22929
+ required: false
22930
+ in: query
22931
+ description: >-
22932
+ Set to `true` to use the plural connection contract. When omitted or
22933
+ `false`, only the compatibility connection is considered.
22934
+ schema:
22935
+ example: true
22936
+ type: boolean
22362
22937
  - name: connected_account_id
22363
22938
  required: false
22364
22939
  in: query
@@ -22408,6 +22983,27 @@ paths:
22408
22983
  application/json:
22409
22984
  schema:
22410
22985
  $ref: '#/components/schemas/AccountSelectionRequiredError'
22986
+ '503':
22987
+ description: >-
22988
+ The connected account or its WorkOS OAuth grant is being changed by
22989
+ another request. Retry the request.
22990
+ content:
22991
+ application/json:
22992
+ schema:
22993
+ type: object
22994
+ properties:
22995
+ code:
22996
+ type: string
22997
+ description: The error code identifying the type of error.
22998
+ example: concurrent_request
22999
+ const: concurrent_request
23000
+ message:
23001
+ type: string
23002
+ description: A human-readable description of the error.
23003
+ example: Request could not be processed.
23004
+ required:
23005
+ - code
23006
+ - message
22411
23007
  summary: Delete a connected account
22412
23008
  tags:
22413
23009
  - user-management.data-providers
@@ -22488,18 +23084,86 @@ paths:
22488
23084
  - message
22489
23085
  '422':
22490
23086
  description: >-
22491
- The data integration is not in a valid state or the token
22492
- combination is invalid.
23087
+ The request body is malformed (`invalid_request_parameters`), the
23088
+ data integration is not in a valid state
23089
+ (`invalid_data_integration_state`), the token combination is invalid
23090
+ (`invalid_token_combination`), or `refresh_token` is not an active
23091
+ WorkOS OAuth grant of this user (`invalid_refresh_token`).
23092
+ content:
23093
+ application/json:
23094
+ schema:
23095
+ oneOf:
23096
+ - type: object
23097
+ properties:
23098
+ code:
23099
+ type: string
23100
+ enum:
23101
+ - invalid_refresh_token
23102
+ - invalid_token_combination
23103
+ - invalid_data_integration_state
23104
+ description: The error code identifying the type of error.
23105
+ example: invalid_refresh_token
23106
+ message:
23107
+ type: string
23108
+ description: A human-readable description of the error.
23109
+ example: Request could not be processed.
23110
+ required:
23111
+ - code
23112
+ - message
23113
+ - type: object
23114
+ properties:
23115
+ code:
23116
+ type: string
23117
+ description: The error code identifying the type of error.
23118
+ example: invalid_request_parameters
23119
+ const: invalid_request_parameters
23120
+ message:
23121
+ type: string
23122
+ description: A human-readable description of the error.
23123
+ example: Validation failed.
23124
+ errors:
23125
+ type: array
23126
+ items:
23127
+ type: object
23128
+ properties:
23129
+ code:
23130
+ type: string
23131
+ description: The validation error code.
23132
+ example: unknown_event_type
23133
+ message:
23134
+ type: string
23135
+ description: >-
23136
+ A human-readable description of the validation
23137
+ error.
23138
+ example: Invalid enum value.
23139
+ required:
23140
+ - code
23141
+ - message
23142
+ description: The list of validation errors.
23143
+ required:
23144
+ - code
23145
+ - message
23146
+ - errors
23147
+ '503':
23148
+ description: >-
23149
+ The WorkOS OAuth grant behind `refresh_token` is being changed by
23150
+ another request. Retry the request.
22493
23151
  content:
22494
23152
  application/json:
22495
23153
  schema:
22496
23154
  type: object
22497
23155
  properties:
23156
+ code:
23157
+ type: string
23158
+ description: The error code identifying the type of error.
23159
+ example: concurrent_request
23160
+ const: concurrent_request
22498
23161
  message:
22499
23162
  type: string
22500
23163
  description: A human-readable description of the error.
22501
- example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
23164
+ example: Request could not be processed.
22502
23165
  required:
23166
+ - code
22503
23167
  - message
22504
23168
  summary: Import a connected account
22505
23169
  tags:
@@ -22536,6 +23200,15 @@ paths:
22536
23200
  schema:
22537
23201
  example: org_01EHZNVPK3SFK441A1RGBFSHRT
22538
23202
  type: string
23203
+ - name: supports_multiple_connections
23204
+ required: false
23205
+ in: query
23206
+ description: >-
23207
+ Set to `true` to use the plural connection contract. When omitted or
23208
+ `false`, only the compatibility connection is considered.
23209
+ schema:
23210
+ example: true
23211
+ type: boolean
22539
23212
  - name: connected_account_id
22540
23213
  required: false
22541
23214
  in: query
@@ -22595,6 +23268,84 @@ paths:
22595
23268
  application/json:
22596
23269
  schema:
22597
23270
  $ref: '#/components/schemas/AccountSelectionRequiredError'
23271
+ '422':
23272
+ description: >-
23273
+ The request body is malformed (`invalid_request_parameters`), or
23274
+ `refresh_token` is not an active WorkOS OAuth grant of this user
23275
+ (`invalid_refresh_token`).
23276
+ content:
23277
+ application/json:
23278
+ schema:
23279
+ oneOf:
23280
+ - type: object
23281
+ properties:
23282
+ code:
23283
+ type: string
23284
+ description: The error code identifying the type of error.
23285
+ example: invalid_refresh_token
23286
+ const: invalid_refresh_token
23287
+ message:
23288
+ type: string
23289
+ description: A human-readable description of the error.
23290
+ example: Request could not be processed.
23291
+ required:
23292
+ - code
23293
+ - message
23294
+ - type: object
23295
+ properties:
23296
+ code:
23297
+ type: string
23298
+ description: The error code identifying the type of error.
23299
+ example: invalid_request_parameters
23300
+ const: invalid_request_parameters
23301
+ message:
23302
+ type: string
23303
+ description: A human-readable description of the error.
23304
+ example: Validation failed.
23305
+ errors:
23306
+ type: array
23307
+ items:
23308
+ type: object
23309
+ properties:
23310
+ code:
23311
+ type: string
23312
+ description: The validation error code.
23313
+ example: unknown_event_type
23314
+ message:
23315
+ type: string
23316
+ description: >-
23317
+ A human-readable description of the validation
23318
+ error.
23319
+ example: Invalid enum value.
23320
+ required:
23321
+ - code
23322
+ - message
23323
+ description: The list of validation errors.
23324
+ required:
23325
+ - code
23326
+ - message
23327
+ - errors
23328
+ '503':
23329
+ description: >-
23330
+ The WorkOS OAuth grant behind `refresh_token` is being changed by
23331
+ another request. Retry the request.
23332
+ content:
23333
+ application/json:
23334
+ schema:
23335
+ type: object
23336
+ properties:
23337
+ code:
23338
+ type: string
23339
+ description: The error code identifying the type of error.
23340
+ example: concurrent_request
23341
+ const: concurrent_request
23342
+ message:
23343
+ type: string
23344
+ description: A human-readable description of the error.
23345
+ example: Request could not be processed.
23346
+ required:
23347
+ - code
23348
+ - message
22598
23349
  summary: Update a connected account
22599
23350
  tags:
22600
23351
  - user-management.data-providers
@@ -22626,6 +23377,15 @@ paths:
22626
23377
  schema:
22627
23378
  example: org_01EHZNVPK3SFK441A1RGBFSHRT
22628
23379
  type: string
23380
+ - name: supports_multiple_connections
23381
+ required: false
23382
+ in: query
23383
+ description: >-
23384
+ Set to `true` to use the plural connection contract. When omitted or
23385
+ `false`, only the compatibility connection is considered.
23386
+ schema:
23387
+ example: true
23388
+ type: boolean
22629
23389
  responses:
22630
23390
  '200':
22631
23391
  description: The list of data providers was retrieved successfully.
@@ -24319,6 +25079,8 @@ tags:
24319
25079
  description: Single Sign-On endpoints.
24320
25080
  - name: user-management.authentication
24321
25081
  description: User authentication endpoints.
25082
+ - name: user-management.authkit-oauth-resources
25083
+ description: Manage MCP resource indicators (RFC 8707).
24322
25084
  - name: user-management.cors-origins
24323
25085
  description: Manage CORS origins for user management.
24324
25086
  - name: user-management.data-providers
@@ -26490,15 +27252,15 @@ components:
26490
27252
  ownership:
26491
27253
  type: string
26492
27254
  enum:
26493
- - userland_user
27255
+ - user
26494
27256
  - organization
26495
27257
  description: >-
26496
- Who owns the Data Integration. `userland_user` (the default) creates
26497
- the integration users connect their own accounts to; `organization`
27258
+ Who owns the Data Integration. `user` (the default) creates the
27259
+ integration users connect their own accounts to; `organization`
26498
27260
  creates the root organizations connect to. Ownership is fixed at
26499
27261
  creation, and one integration of each ownership may exist per
26500
27262
  provider. Independent of `credentials.type`.
26501
- example: userland_user
27263
+ example: user
26502
27264
  description:
26503
27265
  type:
26504
27266
  - string
@@ -26801,6 +27563,26 @@ components:
26801
27563
  - user_id
26802
27564
  - pending_authentication_token
26803
27565
  - phone_number
27566
+ CreateAuthkitOauthResourceDto:
27567
+ type: object
27568
+ properties:
27569
+ uri:
27570
+ type: string
27571
+ description: >-
27572
+ The resource URI. May be a wildcard pattern with a single `*` in the
27573
+ leftmost hostname label, where enabled for the environment.
27574
+ example: https://api.example.com
27575
+ default:
27576
+ type: boolean
27577
+ description: >-
27578
+ Whether the resource being created becomes the environment default,
27579
+ clearing any previous default. Applies at creation only — this API
27580
+ has no update endpoint yet, so changing the default on an existing
27581
+ resource is done from the dashboard. A wildcard pattern cannot be
27582
+ the default.
27583
+ example: false
27584
+ required:
27585
+ - uri
26804
27586
  CreateRedirectUriDto:
26805
27587
  type: object
26806
27588
  properties:
@@ -27802,6 +28584,11 @@ components:
27802
28584
  - permission.created
27803
28585
  - permission.deleted
27804
28586
  - permission.updated
28587
+ - pipes.account_connection.add_failed
28588
+ - pipes.account_connection.connected
28589
+ - pipes.account_connection.connection_failed
28590
+ - pipes.account_connection.disconnected
28591
+ - pipes.account_connection.reauthorization_needed
27805
28592
  - pipes.connected_account.connected
27806
28593
  - pipes.connected_account.connection_failed
27807
28594
  - pipes.connected_account.disconnected
@@ -39458,43 +40245,410 @@ components:
39458
40245
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
39459
40246
  event:
39460
40247
  type: string
39461
- const: password_reset.succeeded
40248
+ const: password_reset.succeeded
40249
+ data:
40250
+ type: object
40251
+ properties:
40252
+ object:
40253
+ type: string
40254
+ description: Distinguishes the password reset object.
40255
+ const: password_reset
40256
+ id:
40257
+ type: string
40258
+ description: The unique ID of the password reset object.
40259
+ example: password_reset_01E4ZCR3C56J083X43JQXF3JK5
40260
+ user_id:
40261
+ type: string
40262
+ description: The unique ID of the user.
40263
+ example: user_01E4ZCR3C56J083X43JQXF3JK5
40264
+ email:
40265
+ type: string
40266
+ description: The email address of the user.
40267
+ example: marcelina.davis@example.com
40268
+ expires_at:
40269
+ format: date-time
40270
+ type: string
40271
+ description: The timestamp when the password reset token expires.
40272
+ example: '2026-01-15T12:00:00.000Z'
40273
+ created_at:
40274
+ format: date-time
40275
+ type: string
40276
+ description: The timestamp when the password reset token was created.
40277
+ example: '2026-01-15T12:00:00.000Z'
40278
+ required:
40279
+ - object
40280
+ - id
40281
+ - user_id
40282
+ - email
40283
+ - expires_at
40284
+ - created_at
40285
+ description: The event payload.
40286
+ created_at:
40287
+ format: date-time
40288
+ type: string
40289
+ description: An ISO 8601 timestamp.
40290
+ example: '2026-01-15T12:00:00.000Z'
40291
+ context:
40292
+ $ref: '#/components/schemas/EventContextDto'
40293
+ object:
40294
+ type: string
40295
+ description: Distinguishes the Event object.
40296
+ const: event
40297
+ required:
40298
+ - id
40299
+ - event
40300
+ - data
40301
+ - created_at
40302
+ - object
40303
+ - type: object
40304
+ properties:
40305
+ id:
40306
+ type: string
40307
+ description: Unique identifier for the event.
40308
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
40309
+ event:
40310
+ type: string
40311
+ const: permission.created
40312
+ data:
40313
+ type: object
40314
+ properties:
40315
+ object:
40316
+ type: string
40317
+ description: Distinguishes the permission object.
40318
+ const: permission
40319
+ id:
40320
+ type: string
40321
+ description: Unique identifier of the permission.
40322
+ example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
40323
+ slug:
40324
+ type: string
40325
+ description: The slug identifier of the permission.
40326
+ example: billing:manage
40327
+ name:
40328
+ type: string
40329
+ description: The name of the permission.
40330
+ example: Manage Billing
40331
+ description:
40332
+ type:
40333
+ - string
40334
+ - 'null'
40335
+ description: A description of the permission.
40336
+ example: Allows managing billing settings.
40337
+ system:
40338
+ type: boolean
40339
+ description: Whether the permission is a system permission.
40340
+ example: false
40341
+ resource_type_slug:
40342
+ type: string
40343
+ description: The slug of the resource type the permission applies to.
40344
+ example: organization
40345
+ created_at:
40346
+ format: date-time
40347
+ type: string
40348
+ description: An ISO 8601 timestamp.
40349
+ example: '2026-01-15T12:00:00.000Z'
40350
+ updated_at:
40351
+ format: date-time
40352
+ type: string
40353
+ description: An ISO 8601 timestamp.
40354
+ example: '2026-01-15T12:00:00.000Z'
40355
+ required:
40356
+ - object
40357
+ - id
40358
+ - slug
40359
+ - name
40360
+ - description
40361
+ - system
40362
+ - resource_type_slug
40363
+ - created_at
40364
+ - updated_at
40365
+ description: The event payload.
40366
+ created_at:
40367
+ format: date-time
40368
+ type: string
40369
+ description: An ISO 8601 timestamp.
40370
+ example: '2026-01-15T12:00:00.000Z'
40371
+ context:
40372
+ $ref: '#/components/schemas/EventContextDto'
40373
+ object:
40374
+ type: string
40375
+ description: Distinguishes the Event object.
40376
+ const: event
40377
+ required:
40378
+ - id
40379
+ - event
40380
+ - data
40381
+ - created_at
40382
+ - object
40383
+ - type: object
40384
+ properties:
40385
+ id:
40386
+ type: string
40387
+ description: Unique identifier for the event.
40388
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
40389
+ event:
40390
+ type: string
40391
+ const: permission.deleted
40392
+ data:
40393
+ type: object
40394
+ properties:
40395
+ object:
40396
+ type: string
40397
+ description: Distinguishes the permission object.
40398
+ const: permission
40399
+ id:
40400
+ type: string
40401
+ description: Unique identifier of the permission.
40402
+ example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
40403
+ slug:
40404
+ type: string
40405
+ description: The slug identifier of the permission.
40406
+ example: billing:manage
40407
+ name:
40408
+ type: string
40409
+ description: The name of the permission.
40410
+ example: Manage Billing
40411
+ description:
40412
+ type:
40413
+ - string
40414
+ - 'null'
40415
+ description: A description of the permission.
40416
+ example: Allows managing billing settings.
40417
+ system:
40418
+ type: boolean
40419
+ description: Whether the permission is a system permission.
40420
+ example: false
40421
+ resource_type_slug:
40422
+ type: string
40423
+ description: The slug of the resource type the permission applies to.
40424
+ example: organization
40425
+ created_at:
40426
+ format: date-time
40427
+ type: string
40428
+ description: An ISO 8601 timestamp.
40429
+ example: '2026-01-15T12:00:00.000Z'
40430
+ updated_at:
40431
+ format: date-time
40432
+ type: string
40433
+ description: An ISO 8601 timestamp.
40434
+ example: '2026-01-15T12:00:00.000Z'
40435
+ required:
40436
+ - object
40437
+ - id
40438
+ - slug
40439
+ - name
40440
+ - description
40441
+ - system
40442
+ - resource_type_slug
40443
+ - created_at
40444
+ - updated_at
40445
+ description: The event payload.
40446
+ created_at:
40447
+ format: date-time
40448
+ type: string
40449
+ description: An ISO 8601 timestamp.
40450
+ example: '2026-01-15T12:00:00.000Z'
40451
+ context:
40452
+ $ref: '#/components/schemas/EventContextDto'
40453
+ object:
40454
+ type: string
40455
+ description: Distinguishes the Event object.
40456
+ const: event
40457
+ required:
40458
+ - id
40459
+ - event
40460
+ - data
40461
+ - created_at
40462
+ - object
40463
+ - type: object
40464
+ properties:
40465
+ id:
40466
+ type: string
40467
+ description: Unique identifier for the event.
40468
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
40469
+ event:
40470
+ type: string
40471
+ const: permission.updated
40472
+ data:
40473
+ type: object
40474
+ properties:
40475
+ object:
40476
+ type: string
40477
+ description: Distinguishes the permission object.
40478
+ const: permission
40479
+ id:
40480
+ type: string
40481
+ description: Unique identifier of the permission.
40482
+ example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
40483
+ slug:
40484
+ type: string
40485
+ description: The slug identifier of the permission.
40486
+ example: billing:manage
40487
+ name:
40488
+ type: string
40489
+ description: The name of the permission.
40490
+ example: Manage Billing
40491
+ description:
40492
+ type:
40493
+ - string
40494
+ - 'null'
40495
+ description: A description of the permission.
40496
+ example: Allows managing billing settings.
40497
+ system:
40498
+ type: boolean
40499
+ description: Whether the permission is a system permission.
40500
+ example: false
40501
+ resource_type_slug:
40502
+ type: string
40503
+ description: The slug of the resource type the permission applies to.
40504
+ example: organization
40505
+ created_at:
40506
+ format: date-time
40507
+ type: string
40508
+ description: An ISO 8601 timestamp.
40509
+ example: '2026-01-15T12:00:00.000Z'
40510
+ updated_at:
40511
+ format: date-time
40512
+ type: string
40513
+ description: An ISO 8601 timestamp.
40514
+ example: '2026-01-15T12:00:00.000Z'
40515
+ required:
40516
+ - object
40517
+ - id
40518
+ - slug
40519
+ - name
40520
+ - description
40521
+ - system
40522
+ - resource_type_slug
40523
+ - created_at
40524
+ - updated_at
40525
+ description: The event payload.
40526
+ created_at:
40527
+ format: date-time
40528
+ type: string
40529
+ description: An ISO 8601 timestamp.
40530
+ example: '2026-01-15T12:00:00.000Z'
40531
+ context:
40532
+ $ref: '#/components/schemas/EventContextDto'
40533
+ object:
40534
+ type: string
40535
+ description: Distinguishes the Event object.
40536
+ const: event
40537
+ required:
40538
+ - id
40539
+ - event
40540
+ - data
40541
+ - created_at
40542
+ - object
40543
+ - type: object
40544
+ properties:
40545
+ id:
40546
+ type: string
40547
+ description: Unique identifier for the event.
40548
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
40549
+ event:
40550
+ type: string
40551
+ const: pipes.account_connection.add_failed
40552
+ data:
40553
+ type: object
40554
+ properties:
40555
+ object:
40556
+ type: string
40557
+ description: The object type.
40558
+ example: connection_failed
40559
+ const: connection_failed
40560
+ data_integration_id:
40561
+ type: string
40562
+ description: The unique ID of the data integration.
40563
+ example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
40564
+ provider_slug:
40565
+ type: string
40566
+ description: The provider slug for this connection attempt.
40567
+ example: github
40568
+ user_id:
40569
+ type:
40570
+ - string
40571
+ - 'null'
40572
+ description: The ID of the User the connection attempt belongs to.
40573
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
40574
+ organization_id:
40575
+ type:
40576
+ - string
40577
+ - 'null'
40578
+ description: >-
40579
+ The ID of the Organization the connection attempt
40580
+ belongs to.
40581
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
40582
+ error_code:
40583
+ type: string
40584
+ description: A machine-readable error code for the failure.
40585
+ example: authorization_code_exchange_error
40586
+ error_reason:
40587
+ type:
40588
+ - string
40589
+ - 'null'
40590
+ description: A human-readable explanation of the failure.
40591
+ example: The authorization code has expired.
40592
+ provider_error:
40593
+ type:
40594
+ - string
40595
+ - 'null'
40596
+ description: The raw error code returned by the OAuth provider.
40597
+ example: access_denied
40598
+ provider_error_description:
40599
+ type:
40600
+ - string
40601
+ - 'null'
40602
+ description: >-
40603
+ The raw error description returned by the OAuth
40604
+ provider.
40605
+ example: The user denied the authorization request.
40606
+ created_at:
40607
+ format: date-time
40608
+ type: string
40609
+ description: An ISO 8601 timestamp.
40610
+ example: '2026-01-15T12:00:00.000Z'
40611
+ required:
40612
+ - object
40613
+ - data_integration_id
40614
+ - provider_slug
40615
+ - user_id
40616
+ - organization_id
40617
+ - error_code
40618
+ - error_reason
40619
+ - provider_error
40620
+ - provider_error_description
40621
+ - created_at
40622
+ title: PipesConnectionFailed
40623
+ description: The event payload.
40624
+ created_at:
40625
+ format: date-time
40626
+ type: string
40627
+ description: An ISO 8601 timestamp.
40628
+ example: '2026-01-15T12:00:00.000Z'
40629
+ context:
40630
+ $ref: '#/components/schemas/EventContextDto'
40631
+ object:
40632
+ type: string
40633
+ description: Distinguishes the Event object.
40634
+ const: event
40635
+ required:
40636
+ - id
40637
+ - event
40638
+ - data
40639
+ - created_at
40640
+ - object
40641
+ - type: object
40642
+ properties:
40643
+ id:
40644
+ type: string
40645
+ description: Unique identifier for the event.
40646
+ example: event_01EHZNVPK3SFK441A1RGBFSHRT
40647
+ event:
40648
+ type: string
40649
+ const: pipes.account_connection.connected
39462
40650
  data:
39463
- type: object
39464
- properties:
39465
- object:
39466
- type: string
39467
- description: Distinguishes the password reset object.
39468
- const: password_reset
39469
- id:
39470
- type: string
39471
- description: The unique ID of the password reset object.
39472
- example: password_reset_01E4ZCR3C56J083X43JQXF3JK5
39473
- user_id:
39474
- type: string
39475
- description: The unique ID of the user.
39476
- example: user_01E4ZCR3C56J083X43JQXF3JK5
39477
- email:
39478
- type: string
39479
- description: The email address of the user.
39480
- example: marcelina.davis@example.com
39481
- expires_at:
39482
- format: date-time
39483
- type: string
39484
- description: The timestamp when the password reset token expires.
39485
- example: '2026-01-15T12:00:00.000Z'
39486
- created_at:
39487
- format: date-time
39488
- type: string
39489
- description: The timestamp when the password reset token was created.
39490
- example: '2026-01-15T12:00:00.000Z'
39491
- required:
39492
- - object
39493
- - id
39494
- - user_id
39495
- - email
39496
- - expires_at
39497
- - created_at
40651
+ $ref: '#/components/schemas/PipesConnectedAccount'
39498
40652
  description: The event payload.
39499
40653
  created_at:
39500
40654
  format: date-time
@@ -39521,60 +40675,78 @@ components:
39521
40675
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
39522
40676
  event:
39523
40677
  type: string
39524
- const: permission.created
40678
+ const: pipes.account_connection.connection_failed
39525
40679
  data:
39526
40680
  type: object
39527
40681
  properties:
39528
40682
  object:
39529
40683
  type: string
39530
- description: Distinguishes the permission object.
39531
- const: permission
39532
- id:
39533
- type: string
39534
- description: Unique identifier of the permission.
39535
- example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
39536
- slug:
40684
+ description: The object type.
40685
+ example: connection_failed
40686
+ const: connection_failed
40687
+ data_integration_id:
39537
40688
  type: string
39538
- description: The slug identifier of the permission.
39539
- example: billing:manage
39540
- name:
40689
+ description: The unique ID of the data integration.
40690
+ example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
40691
+ provider_slug:
39541
40692
  type: string
39542
- description: The name of the permission.
39543
- example: Manage Billing
39544
- description:
40693
+ description: The provider slug for this connection attempt.
40694
+ example: github
40695
+ user_id:
39545
40696
  type:
39546
40697
  - string
39547
40698
  - 'null'
39548
- description: A description of the permission.
39549
- example: Allows managing billing settings.
39550
- system:
39551
- type: boolean
39552
- description: Whether the permission is a system permission.
39553
- example: false
39554
- resource_type_slug:
40699
+ description: The ID of the User the connection attempt belongs to.
40700
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
40701
+ organization_id:
40702
+ type:
40703
+ - string
40704
+ - 'null'
40705
+ description: >-
40706
+ The ID of the Organization the connection attempt
40707
+ belongs to.
40708
+ example: org_01EHWNCE74X7JSDV0X3SZ3KJNY
40709
+ error_code:
39555
40710
  type: string
39556
- description: The slug of the resource type the permission applies to.
39557
- example: organization
40711
+ description: A machine-readable error code for the failure.
40712
+ example: authorization_code_exchange_error
40713
+ error_reason:
40714
+ type:
40715
+ - string
40716
+ - 'null'
40717
+ description: A human-readable explanation of the failure.
40718
+ example: The authorization code has expired.
40719
+ provider_error:
40720
+ type:
40721
+ - string
40722
+ - 'null'
40723
+ description: The raw error code returned by the OAuth provider.
40724
+ example: access_denied
40725
+ provider_error_description:
40726
+ type:
40727
+ - string
40728
+ - 'null'
40729
+ description: >-
40730
+ The raw error description returned by the OAuth
40731
+ provider.
40732
+ example: The user denied the authorization request.
39558
40733
  created_at:
39559
40734
  format: date-time
39560
40735
  type: string
39561
40736
  description: An ISO 8601 timestamp.
39562
40737
  example: '2026-01-15T12:00:00.000Z'
39563
- updated_at:
39564
- format: date-time
39565
- type: string
39566
- description: An ISO 8601 timestamp.
39567
- example: '2026-01-15T12:00:00.000Z'
39568
40738
  required:
39569
40739
  - object
39570
- - id
39571
- - slug
39572
- - name
39573
- - description
39574
- - system
39575
- - resource_type_slug
40740
+ - data_integration_id
40741
+ - provider_slug
40742
+ - user_id
40743
+ - organization_id
40744
+ - error_code
40745
+ - error_reason
40746
+ - provider_error
40747
+ - provider_error_description
39576
40748
  - created_at
39577
- - updated_at
40749
+ title: PipesConnectionFailed
39578
40750
  description: The event payload.
39579
40751
  created_at:
39580
40752
  format: date-time
@@ -39601,60 +40773,9 @@ components:
39601
40773
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
39602
40774
  event:
39603
40775
  type: string
39604
- const: permission.deleted
40776
+ const: pipes.account_connection.disconnected
39605
40777
  data:
39606
- type: object
39607
- properties:
39608
- object:
39609
- type: string
39610
- description: Distinguishes the permission object.
39611
- const: permission
39612
- id:
39613
- type: string
39614
- description: Unique identifier of the permission.
39615
- example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
39616
- slug:
39617
- type: string
39618
- description: The slug identifier of the permission.
39619
- example: billing:manage
39620
- name:
39621
- type: string
39622
- description: The name of the permission.
39623
- example: Manage Billing
39624
- description:
39625
- type:
39626
- - string
39627
- - 'null'
39628
- description: A description of the permission.
39629
- example: Allows managing billing settings.
39630
- system:
39631
- type: boolean
39632
- description: Whether the permission is a system permission.
39633
- example: false
39634
- resource_type_slug:
39635
- type: string
39636
- description: The slug of the resource type the permission applies to.
39637
- example: organization
39638
- created_at:
39639
- format: date-time
39640
- type: string
39641
- description: An ISO 8601 timestamp.
39642
- example: '2026-01-15T12:00:00.000Z'
39643
- updated_at:
39644
- format: date-time
39645
- type: string
39646
- description: An ISO 8601 timestamp.
39647
- example: '2026-01-15T12:00:00.000Z'
39648
- required:
39649
- - object
39650
- - id
39651
- - slug
39652
- - name
39653
- - description
39654
- - system
39655
- - resource_type_slug
39656
- - created_at
39657
- - updated_at
40778
+ $ref: '#/components/schemas/PipesConnectedAccount'
39658
40779
  description: The event payload.
39659
40780
  created_at:
39660
40781
  format: date-time
@@ -39681,60 +40802,9 @@ components:
39681
40802
  example: event_01EHZNVPK3SFK441A1RGBFSHRT
39682
40803
  event:
39683
40804
  type: string
39684
- const: permission.updated
40805
+ const: pipes.account_connection.reauthorization_needed
39685
40806
  data:
39686
- type: object
39687
- properties:
39688
- object:
39689
- type: string
39690
- description: Distinguishes the permission object.
39691
- const: permission
39692
- id:
39693
- type: string
39694
- description: Unique identifier of the permission.
39695
- example: perm_01EHWNCE74X7JSDV0X3SZ3KJNY
39696
- slug:
39697
- type: string
39698
- description: The slug identifier of the permission.
39699
- example: billing:manage
39700
- name:
39701
- type: string
39702
- description: The name of the permission.
39703
- example: Manage Billing
39704
- description:
39705
- type:
39706
- - string
39707
- - 'null'
39708
- description: A description of the permission.
39709
- example: Allows managing billing settings.
39710
- system:
39711
- type: boolean
39712
- description: Whether the permission is a system permission.
39713
- example: false
39714
- resource_type_slug:
39715
- type: string
39716
- description: The slug of the resource type the permission applies to.
39717
- example: organization
39718
- created_at:
39719
- format: date-time
39720
- type: string
39721
- description: An ISO 8601 timestamp.
39722
- example: '2026-01-15T12:00:00.000Z'
39723
- updated_at:
39724
- format: date-time
39725
- type: string
39726
- description: An ISO 8601 timestamp.
39727
- example: '2026-01-15T12:00:00.000Z'
39728
- required:
39729
- - object
39730
- - id
39731
- - slug
39732
- - name
39733
- - description
39734
- - system
39735
- - resource_type_slug
39736
- - created_at
39737
- - updated_at
40807
+ $ref: '#/components/schemas/PipesConnectedAccount'
39738
40808
  description: The event payload.
39739
40809
  created_at:
39740
40810
  format: date-time
@@ -42480,13 +43550,13 @@ components:
42480
43550
  ownership:
42481
43551
  type: string
42482
43552
  enum:
42483
- - userland_user
43553
+ - user
42484
43554
  - organization
42485
43555
  description: >-
42486
- Who owns the Data Integration: `userland_user` when users connect
42487
- their own accounts, `organization` when organizations connect. Fixed
42488
- at creation.
42489
- example: userland_user
43556
+ Who owns the Data Integration: `user` when users connect their own
43557
+ accounts, `organization` when organizations connect. Fixed at
43558
+ creation.
43559
+ example: user
42490
43560
  description:
42491
43561
  type:
42492
43562
  - string
@@ -43339,9 +44409,10 @@ components:
43339
44409
  description: Use updated_at instead.
43340
44410
  connected_account:
43341
44411
  description: >-
43342
- The user's [connected
44412
+ The user's compatibility [connected
43343
44413
  account](/reference/pipes/connected-account) for this
43344
- provider, or `null` if the user has not connected.
44414
+ provider, or `null` when the compatibility slot is empty. This
44415
+ legacy field never selects a standard connection.
43345
44416
  oneOf:
43346
44417
  - type: object
43347
44418
  properties:
@@ -43632,7 +44703,9 @@ components:
43632
44703
  - updatedAt
43633
44704
  description: >-
43634
44705
  The user's connected accounts for this provider in the
43635
- requested ownership context.
44706
+ requested ownership context. This contains only the
44707
+ compatibility connection unless
44708
+ `supports_multiple_connections` is `true`.
43636
44709
  required:
43637
44710
  - object
43638
44711
  - id
@@ -43799,6 +44872,42 @@ components:
43799
44872
  example: Entry already present in list
43800
44873
  required:
43801
44874
  - message
44875
+ AuthkitOauthResource:
44876
+ type: object
44877
+ properties:
44878
+ object:
44879
+ type: string
44880
+ description: The object type.
44881
+ const: authkit_oauth_resource
44882
+ id:
44883
+ type: string
44884
+ description: The ID of the MCP resource indicator.
44885
+ example: authkit_oauth_resource_01EHZNVPK3SFK441A1RGBFSHRT
44886
+ uri:
44887
+ type: string
44888
+ description: The resource URI.
44889
+ example: https://api.example.com
44890
+ default:
44891
+ type: boolean
44892
+ description: >-
44893
+ Whether this is the default MCP resource indicator for the
44894
+ environment.
44895
+ example: false
44896
+ created_at:
44897
+ type: string
44898
+ description: The timestamp when the MCP resource indicator was created.
44899
+ example: '2026-01-15T12:00:00.000Z'
44900
+ updated_at:
44901
+ type: string
44902
+ description: The timestamp when the MCP resource indicator was last updated.
44903
+ example: '2026-01-15T12:00:00.000Z'
44904
+ required:
44905
+ - object
44906
+ - id
44907
+ - uri
44908
+ - default
44909
+ - created_at
44910
+ - updated_at
43802
44911
  RedirectUri:
43803
44912
  type: object
43804
44913
  properties: