@workos/openapi-spec 0.18.0 → 0.19.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.
@@ -6950,6 +6950,284 @@ paths:
6950
6950
  summary: Delete a Connection
6951
6951
  tags:
6952
6952
  - connections
6953
+ /data-integrations:
6954
+ post:
6955
+ description: >-
6956
+ Creates a data integration for a provider. Set `credentials.type` to
6957
+ `custom` to use your own OAuth app credentials, or `organization` to
6958
+ have each organization supply its own. For a built-in provider, pass its
6959
+ slug as `provider`. For a custom provider, pass a new slug plus a
6960
+ `custom_provider` definition.
6961
+ operationId: DataIntegrationsManagementController_createDataIntegration
6962
+ parameters: []
6963
+ requestBody:
6964
+ required: true
6965
+ content:
6966
+ application/json:
6967
+ schema:
6968
+ $ref: '#/components/schemas/CreateDataIntegrationDto'
6969
+ responses:
6970
+ '201':
6971
+ description: Created
6972
+ content:
6973
+ application/json:
6974
+ schema:
6975
+ $ref: '#/components/schemas/DataIntegration'
6976
+ '400':
6977
+ description: Bad Request
6978
+ content:
6979
+ application/json:
6980
+ schema:
6981
+ type: object
6982
+ properties:
6983
+ message:
6984
+ type: string
6985
+ description: A human-readable description of the error.
6986
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
6987
+ required:
6988
+ - message
6989
+ '401':
6990
+ description: Unauthorized
6991
+ '404':
6992
+ description: Not Found
6993
+ content:
6994
+ application/json:
6995
+ schema:
6996
+ type: object
6997
+ properties:
6998
+ message:
6999
+ type: string
7000
+ description: A human-readable description of the error.
7001
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7002
+ required:
7003
+ - message
7004
+ '422':
7005
+ description: Unprocessable Entity
7006
+ content:
7007
+ application/json:
7008
+ schema:
7009
+ type: object
7010
+ properties:
7011
+ message:
7012
+ type: string
7013
+ description: A human-readable description of the error.
7014
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7015
+ required:
7016
+ - message
7017
+ summary: Create a data integration
7018
+ tags:
7019
+ - pipes
7020
+ x-feature-flag: pipes-management-api
7021
+ get:
7022
+ description: >-
7023
+ Lists the environment's data integrations configured with `custom` or
7024
+ `organization` credentials, including custom providers.
7025
+ operationId: DataIntegrationsManagementController_listDataIntegrations
7026
+ parameters:
7027
+ - name: before
7028
+ required: false
7029
+ in: query
7030
+ description: >-
7031
+ An object ID that defines your place in the list. When the ID is not
7032
+ present, you are at the end of the list. For example, if you make a
7033
+ list request and receive 100 objects, ending with `"obj_123"`, your
7034
+ subsequent call can include `before="obj_123"` to fetch a new batch
7035
+ of objects before `"obj_123"`.
7036
+ schema:
7037
+ example: xxx_01HXYZ123456789ABCDEFGHIJ
7038
+ type: string
7039
+ - name: after
7040
+ required: false
7041
+ in: query
7042
+ description: >-
7043
+ An object ID that defines your place in the list. When the ID is not
7044
+ present, you are at the end of the list. For example, if you make a
7045
+ list request and receive 100 objects, ending with `"obj_123"`, your
7046
+ subsequent call can include `after="obj_123"` to fetch a new batch
7047
+ of objects after `"obj_123"`.
7048
+ schema:
7049
+ example: xxx_01HXYZ987654321KJIHGFEDCBA
7050
+ type: string
7051
+ - name: limit
7052
+ required: false
7053
+ in: query
7054
+ 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: >-
7067
+ Order the results by the creation time. Supported values are `"asc"`
7068
+ (ascending), `"desc"` (descending), and `"normal"` (descending with
7069
+ reversed cursor semantics where `before` fetches older records and
7070
+ `after` fetches newer records).
7071
+ schema:
7072
+ $ref: '#/components/schemas/PaginationOrder'
7073
+ responses:
7074
+ '200':
7075
+ description: OK
7076
+ content:
7077
+ application/json:
7078
+ schema:
7079
+ $ref: '#/components/schemas/DataIntegrationList'
7080
+ '401':
7081
+ description: Unauthorized
7082
+ summary: List data integrations
7083
+ tags:
7084
+ - pipes
7085
+ x-feature-flag: pipes-management-api
7086
+ /data-integrations/{slug}:
7087
+ get:
7088
+ description: Retrieves a data integration by its slug.
7089
+ operationId: DataIntegrationsManagementController_getDataIntegration
7090
+ parameters:
7091
+ - name: slug
7092
+ required: true
7093
+ in: path
7094
+ description: The slug identifier of the data integration.
7095
+ schema:
7096
+ example: github
7097
+ type: string
7098
+ responses:
7099
+ '200':
7100
+ description: OK
7101
+ content:
7102
+ application/json:
7103
+ schema:
7104
+ $ref: '#/components/schemas/DataIntegration'
7105
+ '401':
7106
+ description: Unauthorized
7107
+ '404':
7108
+ description: Not Found
7109
+ content:
7110
+ application/json:
7111
+ schema:
7112
+ type: object
7113
+ properties:
7114
+ message:
7115
+ type: string
7116
+ description: A human-readable description of the error.
7117
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7118
+ required:
7119
+ - message
7120
+ summary: Get a data integration
7121
+ tags:
7122
+ - pipes
7123
+ x-feature-flag: pipes-management-api
7124
+ put:
7125
+ description: >-
7126
+ Updates the description, enabled state, or custom credentials of a data
7127
+ integration. For custom providers, `custom_provider` updates the OAuth
7128
+ definition.
7129
+ operationId: DataIntegrationsManagementController_updateDataIntegration
7130
+ parameters:
7131
+ - name: slug
7132
+ required: true
7133
+ in: path
7134
+ description: The slug identifier of the data integration.
7135
+ schema:
7136
+ example: github
7137
+ type: string
7138
+ requestBody:
7139
+ required: true
7140
+ content:
7141
+ application/json:
7142
+ schema:
7143
+ $ref: '#/components/schemas/UpdateDataIntegrationDto'
7144
+ responses:
7145
+ '200':
7146
+ description: OK
7147
+ content:
7148
+ application/json:
7149
+ schema:
7150
+ $ref: '#/components/schemas/DataIntegration'
7151
+ '400':
7152
+ description: Bad Request
7153
+ content:
7154
+ application/json:
7155
+ schema:
7156
+ type: object
7157
+ properties:
7158
+ message:
7159
+ type: string
7160
+ description: A human-readable description of the error.
7161
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7162
+ required:
7163
+ - message
7164
+ '401':
7165
+ description: Unauthorized
7166
+ '404':
7167
+ description: Not Found
7168
+ content:
7169
+ application/json:
7170
+ schema:
7171
+ type: object
7172
+ properties:
7173
+ message:
7174
+ type: string
7175
+ description: A human-readable description of the error.
7176
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7177
+ required:
7178
+ - message
7179
+ '422':
7180
+ description: Unprocessable Entity
7181
+ content:
7182
+ application/json:
7183
+ schema:
7184
+ type: object
7185
+ properties:
7186
+ message:
7187
+ type: string
7188
+ description: A human-readable description of the error.
7189
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7190
+ required:
7191
+ - message
7192
+ summary: Update a data integration
7193
+ tags:
7194
+ - pipes
7195
+ x-feature-flag: pipes-management-api
7196
+ delete:
7197
+ description: >-
7198
+ Deletes a data integration and all of its connected installations. For a
7199
+ custom provider, also deletes the custom provider definition.
7200
+ operationId: DataIntegrationsManagementController_deleteDataIntegration
7201
+ parameters:
7202
+ - name: slug
7203
+ required: true
7204
+ in: path
7205
+ description: The slug identifier of the data integration.
7206
+ schema:
7207
+ example: github
7208
+ type: string
7209
+ responses:
7210
+ '204':
7211
+ description: No Content
7212
+ '401':
7213
+ description: Unauthorized
7214
+ '404':
7215
+ description: Not Found
7216
+ content:
7217
+ application/json:
7218
+ schema:
7219
+ type: object
7220
+ properties:
7221
+ message:
7222
+ type: string
7223
+ description: A human-readable description of the error.
7224
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
7225
+ required:
7226
+ - message
7227
+ summary: Delete a data integration
7228
+ tags:
7229
+ - pipes
7230
+ x-feature-flag: pipes-management-api
6953
7231
  /data-integrations/{slug}/api-key:
6954
7232
  put:
6955
7233
  description: >-
@@ -11288,6 +11566,12 @@ paths:
11288
11566
  type: string
11289
11567
  description: The user agent string from the user's browser.
11290
11568
  example: Mozilla/5.0
11569
+ signals_id:
11570
+ type: string
11571
+ description: >-
11572
+ An optional Radar signals ID to correlate client-side
11573
+ signals with this authentication attempt.
11574
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
11291
11575
  required:
11292
11576
  - client_id
11293
11577
  - grant_type
@@ -11329,6 +11613,18 @@ paths:
11329
11613
  type: string
11330
11614
  description: The user agent string from the user's browser.
11331
11615
  example: Mozilla/5.0
11616
+ signals_id:
11617
+ type: string
11618
+ description: >-
11619
+ An optional Radar signals ID to correlate client-side
11620
+ signals with this authentication attempt.
11621
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
11622
+ radar_auth_attempt_id:
11623
+ type: string
11624
+ description: >-
11625
+ The ID of an existing Radar authentication attempt to
11626
+ associate with this authentication.
11627
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
11332
11628
  required:
11333
11629
  - client_id
11334
11630
  - client_secret
@@ -11412,6 +11708,12 @@ paths:
11412
11708
  type: string
11413
11709
  description: The user agent string from the user's browser.
11414
11710
  example: Mozilla/5.0
11711
+ radar_auth_attempt_id:
11712
+ type: string
11713
+ description: >-
11714
+ The ID of an existing Radar authentication attempt to
11715
+ associate with this authentication.
11716
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
11415
11717
  required:
11416
11718
  - client_id
11417
11719
  - client_secret
@@ -11552,13 +11854,110 @@ paths:
11552
11854
  type: string
11553
11855
  description: The client ID of the application.
11554
11856
  example: client_01HXYZ123456789ABCDEFGHIJ
11857
+ client_secret:
11858
+ type: string
11859
+ description: The client secret of the application.
11860
+ example: sk_test_....
11555
11861
  grant_type:
11556
11862
  type: string
11557
- const: urn:ietf:params:oauth:grant-type:device_code
11558
- device_code:
11863
+ const: urn:workos:oauth:grant-type:radar-email-challenge:code
11864
+ code:
11559
11865
  type: string
11560
- description: The device verification code.
11561
- example: Ao4fMrDS...
11866
+ description: The one-time code from the Radar email challenge.
11867
+ example: '123456'
11868
+ radar_challenge_id:
11869
+ type: string
11870
+ description: The ID of the Radar email challenge being verified.
11871
+ example: radar_challenge_01HXYZ123456789ABCDEFGHIJ
11872
+ pending_authentication_token:
11873
+ type: string
11874
+ description: >-
11875
+ The pending authentication token from a previous
11876
+ authentication attempt.
11877
+ example: cTDQJTTkTkkVYxbn...
11878
+ ip_address:
11879
+ type: string
11880
+ description: The IP address of the user's request.
11881
+ example: 203.0.113.42
11882
+ device_id:
11883
+ type: string
11884
+ description: A unique identifier for the device.
11885
+ example: device_01HXYZ123456789ABCDEFGHIJ
11886
+ user_agent:
11887
+ type: string
11888
+ description: The user agent string from the user's browser.
11889
+ example: Mozilla/5.0
11890
+ required:
11891
+ - client_id
11892
+ - client_secret
11893
+ - grant_type
11894
+ - code
11895
+ - radar_challenge_id
11896
+ - pending_authentication_token
11897
+ - type: object
11898
+ properties:
11899
+ client_id:
11900
+ type: string
11901
+ description: The client ID of the application.
11902
+ example: client_01HXYZ123456789ABCDEFGHIJ
11903
+ client_secret:
11904
+ type: string
11905
+ description: The client secret of the application.
11906
+ example: sk_test_....
11907
+ grant_type:
11908
+ type: string
11909
+ const: urn:workos:oauth:grant-type:radar-sms-challenge:code
11910
+ code:
11911
+ type: string
11912
+ description: The one-time code from the Radar SMS challenge.
11913
+ example: '123456'
11914
+ verification_id:
11915
+ type: string
11916
+ description: The ID of the Radar SMS verification being confirmed.
11917
+ example: vrf_01HXYZ123456789ABCDEFGHIJ
11918
+ phone_number:
11919
+ type: string
11920
+ description: The phone number the Radar SMS challenge was sent to.
11921
+ example: '+15555550123'
11922
+ pending_authentication_token:
11923
+ type: string
11924
+ description: >-
11925
+ The pending authentication token from a previous
11926
+ authentication attempt.
11927
+ example: cTDQJTTkTkkVYxbn...
11928
+ ip_address:
11929
+ type: string
11930
+ description: The IP address of the user's request.
11931
+ example: 203.0.113.42
11932
+ device_id:
11933
+ type: string
11934
+ description: A unique identifier for the device.
11935
+ example: device_01HXYZ123456789ABCDEFGHIJ
11936
+ user_agent:
11937
+ type: string
11938
+ description: The user agent string from the user's browser.
11939
+ example: Mozilla/5.0
11940
+ required:
11941
+ - client_id
11942
+ - client_secret
11943
+ - grant_type
11944
+ - code
11945
+ - verification_id
11946
+ - phone_number
11947
+ - pending_authentication_token
11948
+ - type: object
11949
+ properties:
11950
+ client_id:
11951
+ type: string
11952
+ description: The client ID of the application.
11953
+ example: client_01HXYZ123456789ABCDEFGHIJ
11954
+ grant_type:
11955
+ type: string
11956
+ const: urn:ietf:params:oauth:grant-type:device_code
11957
+ device_code:
11958
+ type: string
11959
+ description: The device verification code.
11960
+ example: Ao4fMrDS...
11562
11961
  ip_address:
11563
11962
  type: string
11564
11963
  description: The IP address of the user's request.
@@ -13604,7 +14003,18 @@ paths:
13604
14003
  content:
13605
14004
  application/json:
13606
14005
  schema:
13607
- $ref: '#/components/schemas/MagicAuth'
14006
+ allOf:
14007
+ - $ref: '#/components/schemas/MagicAuth'
14008
+ - type: object
14009
+ properties:
14010
+ radar_auth_attempt_id:
14011
+ type: string
14012
+ description: >-
14013
+ The ID of the Radar authentication attempt created for
14014
+ this request when Radar is enabled. Pass this value to
14015
+ the authenticate endpoint to associate the subsequent
14016
+ authentication with this Radar attempt.
14017
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
13608
14018
  '400':
13609
14019
  description: Bad Request
13610
14020
  content:
@@ -14108,7 +14518,7 @@ paths:
14108
14518
  summary: Create an organization membership
14109
14519
  tags:
14110
14520
  - user-management.organization-membership
14111
- x-mutually-exclusive-body-groups: &ref_9
14521
+ x-mutually-exclusive-body-groups: &ref_10
14112
14522
  role:
14113
14523
  optional: true
14114
14524
  variants:
@@ -14292,7 +14702,7 @@ paths:
14292
14702
  summary: Update an organization membership
14293
14703
  tags:
14294
14704
  - user-management.organization-membership
14295
- x-mutually-exclusive-body-groups: &ref_10
14705
+ x-mutually-exclusive-body-groups: &ref_11
14296
14706
  role:
14297
14707
  optional: true
14298
14708
  variants:
@@ -14912,6 +15322,31 @@ paths:
14912
15322
  summary: Get a password reset token
14913
15323
  tags:
14914
15324
  - user-management.users
15325
+ /user_management/radar_challenges:
15326
+ post:
15327
+ description: >-
15328
+ Sends a one-time verification code over SMS to a user as part of a Radar
15329
+ challenge. Use the returned `verification_id` to authenticate the user
15330
+ with the `urn:workos:oauth:grant-type:radar-sms-challenge:code` grant
15331
+ type.
15332
+ operationId: PublicRadarChallengesController_sendRadarSmsChallenge
15333
+ parameters: []
15334
+ requestBody:
15335
+ required: true
15336
+ content:
15337
+ application/json:
15338
+ schema:
15339
+ $ref: '#/components/schemas/SendRadarSmsChallengeDto'
15340
+ responses:
15341
+ '201':
15342
+ description: Created
15343
+ content:
15344
+ application/json:
15345
+ schema:
15346
+ $ref: '#/components/schemas/SendRadarSmsChallengeResponse'
15347
+ summary: Send a Radar SMS challenge
15348
+ tags:
15349
+ - user-management.authentication
14915
15350
  /user_management/redirect_uris:
14916
15351
  post:
14917
15352
  description: Creates a new redirect URI for an application.
@@ -15299,7 +15734,18 @@ paths:
15299
15734
  content:
15300
15735
  application/json:
15301
15736
  schema:
15302
- $ref: '#/components/schemas/UserlandUser'
15737
+ allOf:
15738
+ - $ref: '#/components/schemas/UserlandUser'
15739
+ - type: object
15740
+ properties:
15741
+ radar_auth_attempt_id:
15742
+ type: string
15743
+ description: >-
15744
+ The ID of the Radar authentication attempt created for
15745
+ this request when Radar is enabled. Pass this value to
15746
+ the authenticate endpoint to associate the subsequent
15747
+ authentication with this Radar attempt.
15748
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
15303
15749
  '400':
15304
15750
  description: Bad Request
15305
15751
  content:
@@ -15465,7 +15911,7 @@ paths:
15465
15911
  summary: Create a user
15466
15912
  tags:
15467
15913
  - user-management.users
15468
- x-mutually-exclusive-body-groups: &ref_11
15914
+ x-mutually-exclusive-body-groups: &ref_12
15469
15915
  password:
15470
15916
  optional: true
15471
15917
  variants:
@@ -15740,7 +16186,7 @@ paths:
15740
16186
  summary: Update a user
15741
16187
  tags:
15742
16188
  - user-management.users
15743
- x-mutually-exclusive-body-groups: &ref_14
16189
+ x-mutually-exclusive-body-groups: &ref_15
15744
16190
  password:
15745
16191
  optional: true
15746
16192
  variants:
@@ -17275,6 +17721,163 @@ paths:
17275
17721
  summary: Delete a connected account
17276
17722
  tags:
17277
17723
  - user-management.data-providers
17724
+ post:
17725
+ description: >-
17726
+ Imports a [connected account](/reference/pipes/connected-account) for a
17727
+ user by providing OAuth tokens directly. Use this to migrate existing
17728
+ connections or set up connections without going through the OAuth flow.
17729
+ operationId: DataIntegrationsUserManagementController_createUserDataInstallation
17730
+ parameters:
17731
+ - name: user_id
17732
+ required: true
17733
+ in: path
17734
+ description: A [User](/reference/authkit/user) identifier.
17735
+ schema:
17736
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
17737
+ type: string
17738
+ - name: slug
17739
+ required: true
17740
+ in: path
17741
+ description: >-
17742
+ The slug identifier of the provider (e.g., `github`, `slack`,
17743
+ `notion`).
17744
+ schema:
17745
+ example: github
17746
+ type: string
17747
+ - name: organization_id
17748
+ required: false
17749
+ in: query
17750
+ description: >-
17751
+ An [Organization](/reference/organization) identifier. Optional
17752
+ parameter if the connection is scoped to an organization.
17753
+ schema:
17754
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
17755
+ type: string
17756
+ requestBody:
17757
+ required: true
17758
+ content:
17759
+ application/json:
17760
+ schema:
17761
+ $ref: '#/components/schemas/ConnectedAccountDto'
17762
+ responses:
17763
+ '201':
17764
+ description: The connected account was created successfully.
17765
+ content:
17766
+ application/json:
17767
+ schema:
17768
+ $ref: '#/components/schemas/ConnectedAccount'
17769
+ '401':
17770
+ description: The request is missing a valid API key.
17771
+ '404':
17772
+ description: The user, organization, or data integration was not found.
17773
+ content:
17774
+ application/json:
17775
+ schema:
17776
+ type: object
17777
+ properties:
17778
+ message:
17779
+ type: string
17780
+ description: A human-readable description of the error.
17781
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17782
+ required:
17783
+ - message
17784
+ '409':
17785
+ description: >-
17786
+ A connected account already exists for this user, integration, and
17787
+ organization.
17788
+ content:
17789
+ application/json:
17790
+ schema:
17791
+ type: object
17792
+ properties:
17793
+ message:
17794
+ type: string
17795
+ description: A human-readable description of the error.
17796
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17797
+ required:
17798
+ - message
17799
+ '422':
17800
+ description: >-
17801
+ The data integration is not in a valid state or the token
17802
+ combination is invalid.
17803
+ content:
17804
+ application/json:
17805
+ schema:
17806
+ type: object
17807
+ properties:
17808
+ message:
17809
+ type: string
17810
+ description: A human-readable description of the error.
17811
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17812
+ required:
17813
+ - message
17814
+ summary: Import a connected account
17815
+ tags:
17816
+ - user-management.data-providers
17817
+ x-feature-flag: pipes-management-api
17818
+ put:
17819
+ description: >-
17820
+ Updates a user's [connected account](/reference/pipes/connected-account)
17821
+ tokens, scopes, or state for a specific provider.
17822
+ operationId: DataIntegrationsUserManagementController_updateUserDataInstallation
17823
+ parameters:
17824
+ - name: user_id
17825
+ required: true
17826
+ in: path
17827
+ description: A [User](/reference/authkit/user) identifier.
17828
+ schema:
17829
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
17830
+ type: string
17831
+ - name: slug
17832
+ required: true
17833
+ in: path
17834
+ description: >-
17835
+ The slug identifier of the provider (e.g., `github`, `slack`,
17836
+ `notion`).
17837
+ schema:
17838
+ example: github
17839
+ type: string
17840
+ - name: organization_id
17841
+ required: false
17842
+ in: query
17843
+ description: >-
17844
+ An [Organization](/reference/organization) identifier. Optional
17845
+ parameter if the connection is scoped to an organization.
17846
+ schema:
17847
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
17848
+ type: string
17849
+ requestBody:
17850
+ required: true
17851
+ content:
17852
+ application/json:
17853
+ schema:
17854
+ $ref: '#/components/schemas/ConnectedAccountDto'
17855
+ responses:
17856
+ '200':
17857
+ description: The connected account was updated successfully.
17858
+ content:
17859
+ application/json:
17860
+ schema:
17861
+ $ref: '#/components/schemas/ConnectedAccount'
17862
+ '401':
17863
+ description: The request is missing a valid API key.
17864
+ '404':
17865
+ description: The user, organization, or connected account was not found.
17866
+ content:
17867
+ application/json:
17868
+ schema:
17869
+ type: object
17870
+ properties:
17871
+ message:
17872
+ type: string
17873
+ description: A human-readable description of the error.
17874
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17875
+ required:
17876
+ - message
17877
+ summary: Update a connected account
17878
+ tags:
17879
+ - user-management.data-providers
17880
+ x-feature-flag: pipes-management-api
17278
17881
  /user_management/users/{user_id}/data_providers:
17279
17882
  get:
17280
17883
  description: >-
@@ -19703,50 +20306,332 @@ components:
19703
20306
  allow_profiles_outside_organization:
19704
20307
  type: boolean
19705
20308
  description: >-
19706
- Whether the organization allows profiles from outside the
19707
- organization to sign in.
19708
- example: false
19709
- domains:
20309
+ Whether the organization allows profiles from outside the
20310
+ organization to sign in.
20311
+ example: false
20312
+ domains:
20313
+ description: >-
20314
+ The domains associated with the organization. Deprecated in favor of
20315
+ `domain_data`.
20316
+ example:
20317
+ - foo-corp.com
20318
+ deprecated: true
20319
+ type: array
20320
+ items:
20321
+ type: string
20322
+ domain_data:
20323
+ description: >-
20324
+ The domains associated with the organization, including verification
20325
+ state.
20326
+ type: array
20327
+ items:
20328
+ $ref: '#/components/schemas/OrganizationDomainDataDto'
20329
+ stripe_customer_id:
20330
+ type: string
20331
+ description: The Stripe customer ID associated with the organization.
20332
+ example: cus_R9qWAGMQ6nGE7V
20333
+ metadata:
20334
+ type:
20335
+ - object
20336
+ - 'null'
20337
+ additionalProperties: *ref_7
20338
+ maxProperties: 50
20339
+ example: *ref_8
20340
+ description: >-
20341
+ Object containing [metadata](/authkit/metadata) key/value pairs
20342
+ associated with the Organization.
20343
+ propertyNames:
20344
+ maxLength: 40
20345
+ external_id:
20346
+ type:
20347
+ - string
20348
+ - 'null'
20349
+ maxLength: 128
20350
+ pattern: ^[\x00-\x7F]+$
20351
+ example: 2fe01467-f7ea-4dd2-8b79-c2b4f56d0191
20352
+ description: An external identifier for the Organization.
20353
+ DataIntegrationCredentialsDto:
20354
+ type: object
20355
+ properties:
20356
+ type:
20357
+ type: string
20358
+ enum:
20359
+ - custom
20360
+ - organization
20361
+ example: custom
20362
+ description: >-
20363
+ The credentials type. `custom` uses your own OAuth app credentials;
20364
+ `organization` has each organization supply its own credentials
20365
+ (configured per-organization).
20366
+ client_id:
20367
+ type: string
20368
+ description: >-
20369
+ OAuth client ID for the provider app. Required when `type` is
20370
+ `custom`; omit for `organization`.
20371
+ example: Iv1.abc123
20372
+ client_secret:
20373
+ type: string
20374
+ description: >-
20375
+ OAuth client secret for the provider app. Required when `type` is
20376
+ `custom`; omit for `organization`.
20377
+ example: secret_…
20378
+ required:
20379
+ - type
20380
+ CustomProviderDefinitionDto:
20381
+ type: object
20382
+ properties:
20383
+ name:
20384
+ type: string
20385
+ description: A descriptive name for the custom provider.
20386
+ example: My OAuth App
20387
+ authorization_url:
20388
+ type: string
20389
+ format: uri
20390
+ description: The provider's OAuth authorization endpoint.
20391
+ example: https://provider.example.com/oauth/authorize
20392
+ token_url:
20393
+ type: string
20394
+ format: uri
20395
+ description: The provider's OAuth token endpoint.
20396
+ example: https://provider.example.com/oauth/token
20397
+ refresh_token_url:
20398
+ type:
20399
+ - string
20400
+ - 'null'
20401
+ format: uri
20402
+ description: >-
20403
+ The endpoint used to refresh tokens, if different from the token
20404
+ endpoint.
20405
+ example: https://provider.example.com/oauth/token
20406
+ pkce_enabled:
20407
+ type: boolean
20408
+ description: >-
20409
+ Whether PKCE is used during the authorization code flow. Defaults to
20410
+ `true`.
20411
+ example: true
20412
+ request_scope_separator:
20413
+ type: string
20414
+ description: The separator used to join requested scopes. Defaults to a space.
20415
+ example: ' '
20416
+ scopes_required:
20417
+ type: boolean
20418
+ description: >-
20419
+ Whether at least one scope must be selected when connecting an
20420
+ account. Defaults to `false`.
20421
+ example: false
20422
+ client_secret_required:
20423
+ type: boolean
20424
+ description: >-
20425
+ Whether a client secret is required for this provider. Defaults to
20426
+ `true`.
20427
+ example: true
20428
+ additional_authorization_parameters:
20429
+ type: object
20430
+ description: >-
20431
+ Additional static query parameters appended to the authorization
20432
+ request.
20433
+ additionalProperties:
20434
+ type: string
20435
+ example:
20436
+ prompt: consent
20437
+ token_body_content_type:
20438
+ type: string
20439
+ description: The Content-Type used when exchanging the token request.
20440
+ example: application/x-www-form-urlencoded
20441
+ authenticate_via:
20442
+ type: string
20443
+ enum: &ref_9
20444
+ - request_body
20445
+ - basic_auth_header
20446
+ description: >-
20447
+ How client credentials are sent when exchanging authorization codes
20448
+ and refreshing tokens.
20449
+ example: request_body
20450
+ required:
20451
+ - name
20452
+ - authorization_url
20453
+ - token_url
20454
+ CreateDataIntegrationDto:
20455
+ type: object
20456
+ properties:
20457
+ provider:
20458
+ type: string
20459
+ description: >-
20460
+ The provider to create a Data Integration for. For a built-in
20461
+ provider use its slug (e.g. `github`, `slack`). For a custom
20462
+ provider, this is the new provider slug and `custom_provider` must
20463
+ be supplied. A custom provider slug cannot shadow an existing global
20464
+ provider slug.
20465
+ example: github
20466
+ description:
20467
+ type:
20468
+ - string
20469
+ - 'null'
20470
+ description: An optional description of the Data Integration.
20471
+ example: Production GitHub app
20472
+ enabled:
20473
+ type: boolean
20474
+ description: Whether the Data Integration is enabled. Defaults to `false`.
20475
+ example: true
20476
+ scopes:
20477
+ description: >-
20478
+ The OAuth scopes to request for the Data Integration. Defaults to
20479
+ the provider's configured scopes when omitted.
20480
+ example:
20481
+ - repo
20482
+ - read:org
20483
+ type:
20484
+ - array
20485
+ - 'null'
20486
+ items:
20487
+ type: string
20488
+ credentials:
20489
+ description: >-
20490
+ The credentials to configure for the Data Integration. Required for
20491
+ both built-in and custom providers.
20492
+ $ref: '#/components/schemas/DataIntegrationCredentialsDto'
20493
+ custom_provider:
20494
+ description: >-
20495
+ The OAuth definition for a custom provider. Supply this to define a
20496
+ custom provider; omit it to create an integration for a built-in
20497
+ provider.
20498
+ $ref: '#/components/schemas/CustomProviderDefinitionDto'
20499
+ required:
20500
+ - provider
20501
+ UpdateCustomProviderDefinitionDto:
20502
+ type: object
20503
+ properties:
20504
+ name:
20505
+ type: string
20506
+ description: A descriptive name for the custom provider.
20507
+ example: My OAuth App
20508
+ authorization_url:
20509
+ type: string
20510
+ format: uri
20511
+ description: The provider's OAuth authorization endpoint.
20512
+ example: https://provider.example.com/oauth/authorize
20513
+ token_url:
20514
+ type: string
20515
+ format: uri
20516
+ description: The provider's OAuth token endpoint.
20517
+ example: https://provider.example.com/oauth/token
20518
+ refresh_token_url:
20519
+ type:
20520
+ - string
20521
+ - 'null'
20522
+ format: uri
20523
+ description: >-
20524
+ The endpoint used to refresh tokens, if different from the token
20525
+ endpoint.
20526
+ example: https://provider.example.com/oauth/token
20527
+ pkce_enabled:
20528
+ type: boolean
20529
+ description: Whether PKCE is used during the authorization code flow.
20530
+ example: true
20531
+ request_scope_separator:
20532
+ type: string
20533
+ description: The separator used to join requested scopes.
20534
+ example: ' '
20535
+ scopes_required:
20536
+ type: boolean
20537
+ description: >-
20538
+ Whether at least one scope must be selected when connecting an
20539
+ account.
20540
+ example: false
20541
+ client_secret_required:
20542
+ type: boolean
20543
+ description: Whether a client secret is required for this provider.
20544
+ example: true
20545
+ additional_authorization_parameters:
20546
+ type: object
20547
+ description: >-
20548
+ Additional static query parameters appended to the authorization
20549
+ request.
20550
+ additionalProperties:
20551
+ type: string
20552
+ example:
20553
+ prompt: consent
20554
+ token_body_content_type:
20555
+ type: string
20556
+ description: The Content-Type used when exchanging the token request.
20557
+ example: application/x-www-form-urlencoded
20558
+ authenticate_via:
20559
+ type: string
20560
+ enum: *ref_9
20561
+ description: >-
20562
+ How client credentials are sent when exchanging authorization codes
20563
+ and refreshing tokens.
20564
+ example: request_body
20565
+ UpdateDataIntegrationDto:
20566
+ type: object
20567
+ properties:
20568
+ description:
20569
+ type:
20570
+ - string
20571
+ - 'null'
20572
+ description: An optional description of the Data Integration.
20573
+ example: Production GitHub app
20574
+ enabled:
20575
+ type: boolean
20576
+ description: Whether the Data Integration is enabled.
20577
+ example: true
20578
+ scopes:
20579
+ description: >-
20580
+ The OAuth scopes to request for the Data Integration. Pass `null` to
20581
+ reset to the provider's configured scopes.
20582
+ example:
20583
+ - repo
20584
+ - read:org
20585
+ type:
20586
+ - array
20587
+ - 'null'
20588
+ items:
20589
+ type: string
20590
+ credentials:
20591
+ description: >-
20592
+ New credentials for the Data Integration. When provided, rotates the
20593
+ stored client secret.
20594
+ $ref: '#/components/schemas/DataIntegrationCredentialsDto'
20595
+ custom_provider:
20596
+ description: >-
20597
+ Updates to a custom provider's OAuth definition. Only valid for
20598
+ custom-provider integrations.
20599
+ $ref: '#/components/schemas/UpdateCustomProviderDefinitionDto'
20600
+ ConnectedAccountDto:
20601
+ type: object
20602
+ properties:
20603
+ access_token:
20604
+ type: string
20605
+ description: The OAuth access token for the connected account.
20606
+ example: gho_16C7e42F292c6912E7710c838347Ae178B4a
20607
+ refresh_token:
20608
+ type: string
20609
+ description: The OAuth refresh token for the connected account.
20610
+ example: ghr_xxxxxxxxxxxxxxxxxxxx
20611
+ expires_at:
20612
+ type: string
19710
20613
  description: >-
19711
- The domains associated with the organization. Deprecated in favor of
19712
- `domain_data`.
20614
+ The ISO-8601 timestamp when the access token expires. Required when
20615
+ `access_token` is provided for tokens that expire.
20616
+ example: '2025-12-31T23:59:59.000Z'
20617
+ format: date-time
20618
+ scopes:
20619
+ description: The OAuth scopes granted for this connection.
19713
20620
  example:
19714
- - foo-corp.com
19715
- deprecated: true
20621
+ - repo
20622
+ - user:email
19716
20623
  type: array
19717
20624
  items:
19718
20625
  type: string
19719
- domain_data:
19720
- description: >-
19721
- The domains associated with the organization, including verification
19722
- state.
19723
- type: array
19724
- items:
19725
- $ref: '#/components/schemas/OrganizationDomainDataDto'
19726
- stripe_customer_id:
20626
+ state:
19727
20627
  type: string
19728
- description: The Stripe customer ID associated with the organization.
19729
- example: cus_R9qWAGMQ6nGE7V
19730
- metadata:
19731
- type:
19732
- - object
19733
- - 'null'
19734
- additionalProperties: *ref_7
19735
- maxProperties: 50
19736
- example: *ref_8
20628
+ enum:
20629
+ - connected
20630
+ - needs_reauthorization
19737
20631
  description: >-
19738
- Object containing [metadata](/authkit/metadata) key/value pairs
19739
- associated with the Organization.
19740
- propertyNames:
19741
- maxLength: 40
19742
- external_id:
19743
- type:
19744
- - string
19745
- - 'null'
19746
- maxLength: 128
19747
- pattern: ^[\x00-\x7F]+$
19748
- example: 2fe01467-f7ea-4dd2-8b79-c2b4f56d0191
19749
- description: An external identifier for the Organization.
20632
+ Explicitly set the state of the connected account. When omitted, the
20633
+ state is derived from the token combination provided.
20634
+ example: connected
19750
20635
  GenerateLinkDto:
19751
20636
  type: object
19752
20637
  properties:
@@ -19804,6 +20689,35 @@ components:
19804
20689
  type: array
19805
20690
  required:
19806
20691
  - organization
20692
+ SendRadarSmsChallengeDto:
20693
+ type: object
20694
+ properties:
20695
+ user_id:
20696
+ type: string
20697
+ description: The ID of the user to send the SMS challenge to.
20698
+ example: user_01E4ZCR3C56J083X43JQXF3JK5
20699
+ pending_authentication_token:
20700
+ type: string
20701
+ description: >-
20702
+ The pending authentication token from a previous authentication
20703
+ attempt that triggered the Radar challenge.
20704
+ example: cTDQJTTkTkkVYxbn...
20705
+ phone_number:
20706
+ type: string
20707
+ description: The phone number to send the SMS verification code to.
20708
+ example: '+15555550123'
20709
+ ip_address:
20710
+ type: string
20711
+ description: The IP address of the user's request.
20712
+ example: 203.0.113.42
20713
+ user_agent:
20714
+ type: string
20715
+ description: The user agent string from the user's request.
20716
+ example: Mozilla/5.0
20717
+ required:
20718
+ - user_id
20719
+ - pending_authentication_token
20720
+ - phone_number
19807
20721
  CreateRedirectUriDto:
19808
20722
  type: object
19809
20723
  properties:
@@ -19854,6 +20768,26 @@ components:
19854
20768
  type: string
19855
20769
  description: The invitation token to associate with this magic code.
19856
20770
  example: Z1Y2X3W4V5U6T7S8R9Q0P1O2N3
20771
+ ip_address:
20772
+ type: string
20773
+ description: The IP address of the user's request.
20774
+ example: 203.0.113.42
20775
+ user_agent:
20776
+ type: string
20777
+ description: The user agent string from the user's request.
20778
+ example: Mozilla/5.0
20779
+ radar_auth_attempt_id:
20780
+ type: string
20781
+ description: >-
20782
+ The ID of an existing Radar authentication attempt to associate with
20783
+ this request.
20784
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
20785
+ signals_id:
20786
+ type: string
20787
+ description: >-
20788
+ An optional Radar signals ID to correlate client-side signals with
20789
+ this request.
20790
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
19857
20791
  required:
19858
20792
  - email
19859
20793
  CreateUserlandUserInviteOptionsDto:
@@ -20156,9 +21090,9 @@ components:
20156
21090
  x-exclude-from-lint: true
20157
21091
  required:
20158
21092
  - role_slug
20159
- x-mutually-exclusive-body-groups: *ref_9
20160
- UpdateUserlandUserOrganizationMembershipDto:
20161
21093
  x-mutually-exclusive-body-groups: *ref_10
21094
+ UpdateUserlandUserOrganizationMembershipDto:
21095
+ x-mutually-exclusive-body-groups: *ref_11
20162
21096
  oneOf:
20163
21097
  - type: object
20164
21098
  not:
@@ -20282,7 +21216,7 @@ components:
20282
21216
  - 'null'
20283
21217
  additionalProperties: *ref_7
20284
21218
  maxProperties: 50
20285
- example: &ref_12
21219
+ example: &ref_13
20286
21220
  timezone: America/New_York
20287
21221
  description: >-
20288
21222
  Object containing metadata key/value pairs associated with the
@@ -20297,6 +21231,24 @@ components:
20297
21231
  pattern: ^[\x00-\x7F]+$
20298
21232
  description: The external ID of the user.
20299
21233
  example: f1ffa2b2-c20b-4d39-be5c-212726e11222
21234
+ ip_address:
21235
+ type:
21236
+ - string
21237
+ - 'null'
21238
+ description: The IP address of the user's request.
21239
+ example: 203.0.113.42
21240
+ user_agent:
21241
+ type:
21242
+ - string
21243
+ - 'null'
21244
+ description: The user agent string from the user's request.
21245
+ example: Mozilla/5.0
21246
+ signals_id:
21247
+ type: string
21248
+ description: >-
21249
+ An optional Radar signals ID to correlate client-side signals
21250
+ with this request.
21251
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
20300
21252
  required:
20301
21253
  - email
20302
21254
  - oneOf:
@@ -20352,7 +21304,7 @@ components:
20352
21304
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20353
21305
  password_hash_type:
20354
21306
  type: string
20355
- enum: &ref_13
21307
+ enum: &ref_14
20356
21308
  - bcrypt
20357
21309
  - firebase-scrypt
20358
21310
  - ssha
@@ -20374,7 +21326,7 @@ components:
20374
21326
  x-exclude-from-lint: true
20375
21327
  required:
20376
21328
  - password
20377
- x-mutually-exclusive-body-groups: *ref_11
21329
+ x-mutually-exclusive-body-groups: *ref_12
20378
21330
  UpdateUserlandUserDto:
20379
21331
  allOf:
20380
21332
  - type: object
@@ -20406,7 +21358,7 @@ components:
20406
21358
  - 'null'
20407
21359
  additionalProperties: *ref_7
20408
21360
  maxProperties: 50
20409
- example: *ref_12
21361
+ example: *ref_13
20410
21362
  description: >-
20411
21363
  Object containing metadata key/value pairs associated with the
20412
21364
  user.
@@ -20477,7 +21429,7 @@ components:
20477
21429
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20478
21430
  password_hash_type:
20479
21431
  type: string
20480
- enum: *ref_13
21432
+ enum: *ref_14
20481
21433
  description: >-
20482
21434
  The algorithm originally used to hash the password, used
20483
21435
  when providing a `password_hash`. Required with
@@ -20493,7 +21445,7 @@ components:
20493
21445
  x-exclude-from-lint: true
20494
21446
  required:
20495
21447
  - password
20496
- x-mutually-exclusive-body-groups: *ref_14
21448
+ x-mutually-exclusive-body-groups: *ref_15
20497
21449
  VerifyEmailAddressDto:
20498
21450
  type: object
20499
21451
  properties:
@@ -20568,7 +21520,7 @@ components:
20568
21520
  description: The events that the Webhook Endpoint is subscribed to.
20569
21521
  items:
20570
21522
  type: string
20571
- enum: &ref_15
21523
+ enum: &ref_16
20572
21524
  - agent.registration.created
20573
21525
  - agent.registration.claim.attempt.created
20574
21526
  - agent.registration.claim.completed
@@ -20682,7 +21634,7 @@ components:
20682
21634
  description: The events that the Webhook Endpoint is subscribed to.
20683
21635
  items:
20684
21636
  type: string
20685
- enum: *ref_15
21637
+ enum: *ref_16
20686
21638
  example:
20687
21639
  - user.created
20688
21640
  - dsync.user.created
@@ -23879,7 +24831,7 @@ components:
23879
24831
  description: >-
23880
24832
  An object containing the custom attribute mapping for the Directory
23881
24833
  Provider.
23882
- example: &ref_18
24834
+ example: &ref_19
23883
24835
  department: Engineering
23884
24836
  job_title: Software Engineer
23885
24837
  role:
@@ -24057,7 +25009,7 @@ components:
24057
25009
  type: object
24058
25010
  additionalProperties: {}
24059
25011
  description: The event payload.
24060
- example: &ref_16
25012
+ example: &ref_17
24061
25013
  id: directory_user_01E1JG7J09H96KYP8HM9B0G5SJ
24062
25014
  directory_id: directory_01ECAZ4NV9QMV47GW873HDCX74
24063
25015
  organization_id: org_01EZTR6WYX1A0DSE2CYMGXQ24Y
@@ -24092,11 +25044,11 @@ components:
24092
25044
  - data
24093
25045
  - created_at
24094
25046
  description: An event emitted by WorkOS.
24095
- example: &ref_23
25047
+ example: &ref_24
24096
25048
  object: event
24097
25049
  id: event_01EHZNVPK3SFK441A1RGBFSHRT
24098
25050
  event: dsync.user.created
24099
- data: *ref_16
25051
+ data: *ref_17
24100
25052
  created_at: '2021-06-25T19:07:33.155Z'
24101
25053
  context: {}
24102
25054
  - oneOf:
@@ -24766,7 +25718,7 @@ components:
24766
25718
  items:
24767
25719
  type: string
24768
25720
  description: The permissions granted to the API key.
24769
- example: &ref_17
25721
+ example: &ref_18
24770
25722
  - users:read
24771
25723
  - users:write
24772
25724
  created_at:
@@ -24892,7 +25844,7 @@ components:
24892
25844
  items:
24893
25845
  type: string
24894
25846
  description: The permissions granted to the API key.
24895
- example: *ref_17
25847
+ example: *ref_18
24896
25848
  created_at:
24897
25849
  type: string
24898
25850
  description: The timestamp when the API key was created.
@@ -25016,7 +25968,7 @@ components:
25016
25968
  items:
25017
25969
  type: string
25018
25970
  description: The permissions granted to the API key.
25019
- example: *ref_17
25971
+ example: *ref_18
25020
25972
  created_at:
25021
25973
  type: string
25022
25974
  description: The timestamp when the API key was created.
@@ -27878,7 +28830,7 @@ components:
27878
28830
  description: >-
27879
28831
  An object containing the custom attribute mapping for
27880
28832
  the Directory Provider.
27881
- example: *ref_18
28833
+ example: *ref_19
27882
28834
  role:
27883
28835
  $ref: '#/components/schemas/SlimRole'
27884
28836
  roles:
@@ -28068,7 +29020,7 @@ components:
28068
29020
  description: >-
28069
29021
  Labels assigned to the Feature Flag for categorizing and
28070
29022
  filtering.
28071
- example: &ref_19
29023
+ example: &ref_20
28072
29024
  - reports
28073
29025
  enabled:
28074
29026
  type: boolean
@@ -28229,7 +29181,7 @@ components:
28229
29181
  description: >-
28230
29182
  Labels assigned to the Feature Flag for categorizing and
28231
29183
  filtering.
28232
- example: *ref_19
29184
+ example: *ref_20
28233
29185
  enabled:
28234
29186
  type: boolean
28235
29187
  description: >-
@@ -28389,7 +29341,7 @@ components:
28389
29341
  description: >-
28390
29342
  Labels assigned to the Feature Flag for categorizing and
28391
29343
  filtering.
28392
- example: *ref_19
29344
+ example: *ref_20
28393
29345
  enabled:
28394
29346
  type: boolean
28395
29347
  description: >-
@@ -28669,7 +29621,7 @@ components:
28669
29621
  description: >-
28670
29622
  Labels assigned to the Feature Flag for categorizing and
28671
29623
  filtering.
28672
- example: *ref_19
29624
+ example: *ref_20
28673
29625
  enabled:
28674
29626
  type: boolean
28675
29627
  description: >-
@@ -29657,7 +30609,7 @@ components:
29657
30609
  description: >-
29658
30610
  Object containing [metadata](/authkit/metadata)
29659
30611
  key/value pairs associated with the Organization.
29660
- example: &ref_20
30612
+ example: &ref_21
29661
30613
  tier: diamond
29662
30614
  propertyNames:
29663
30615
  maxLength: 40
@@ -29807,7 +30759,7 @@ components:
29807
30759
  description: >-
29808
30760
  Object containing [metadata](/authkit/metadata)
29809
30761
  key/value pairs associated with the Organization.
29810
- example: *ref_20
30762
+ example: *ref_21
29811
30763
  propertyNames:
29812
30764
  maxLength: 40
29813
30765
  maxProperties: 50
@@ -30634,7 +31586,7 @@ components:
30634
31586
  items:
30635
31587
  type: string
30636
31588
  description: The permissions granted by the role.
30637
- example: &ref_21
31589
+ example: &ref_22
30638
31590
  - users:read
30639
31591
  - users:write
30640
31592
  created_at:
@@ -30718,7 +31670,7 @@ components:
30718
31670
  items:
30719
31671
  type: string
30720
31672
  description: The permissions granted by the role.
30721
- example: *ref_21
31673
+ example: *ref_22
30722
31674
  created_at:
30723
31675
  format: date-time
30724
31676
  type: string
@@ -30800,7 +31752,7 @@ components:
30800
31752
  items:
30801
31753
  type: string
30802
31754
  description: The permissions granted by the role.
30803
- example: *ref_21
31755
+ example: *ref_22
30804
31756
  created_at:
30805
31757
  format: date-time
30806
31758
  type: string
@@ -30937,7 +31889,7 @@ components:
30937
31889
  description: >-
30938
31890
  Object containing [metadata](/authkit/metadata)
30939
31891
  key/value pairs associated with the Organization.
30940
- example: *ref_20
31892
+ example: *ref_21
30941
31893
  propertyNames:
30942
31894
  maxLength: 40
30943
31895
  maxProperties: 50
@@ -31568,7 +32520,7 @@ components:
31568
32520
  items:
31569
32521
  type: string
31570
32522
  description: The permissions granted by the role.
31571
- example: &ref_22
32523
+ example: &ref_23
31572
32524
  - users:read
31573
32525
  - users:write
31574
32526
  created_at:
@@ -31634,7 +32586,7 @@ components:
31634
32586
  items:
31635
32587
  type: string
31636
32588
  description: The permissions granted by the role.
31637
- example: *ref_22
32589
+ example: *ref_23
31638
32590
  created_at:
31639
32591
  format: date-time
31640
32592
  type: string
@@ -31698,7 +32650,7 @@ components:
31698
32650
  items:
31699
32651
  type: string
31700
32652
  description: The permissions granted by the role.
31701
- example: *ref_22
32653
+ example: *ref_23
31702
32654
  created_at:
31703
32655
  format: date-time
31704
32656
  type: string
@@ -32781,7 +33733,7 @@ components:
32781
33733
  - data
32782
33734
  - created_at
32783
33735
  - object
32784
- example: *ref_23
33736
+ example: *ref_24
32785
33737
  description: An event emitted by WorkOS.
32786
33738
  EventList:
32787
33739
  type: object
@@ -32816,7 +33768,7 @@ components:
32816
33768
  example:
32817
33769
  object: list
32818
33770
  data:
32819
- - *ref_23
33771
+ - *ref_24
32820
33772
  list_metadata:
32821
33773
  after: event_01EHZNVPK3SFK441A1RGBFSHRT
32822
33774
  JwtTemplate:
@@ -33658,6 +34610,245 @@ components:
33658
34610
  The OAuth client secret of the organization's own application. Must
33659
34611
  be provided together with `client_id`.
33660
34612
  example: ••••••••
34613
+ DataIntegration:
34614
+ type: object
34615
+ properties:
34616
+ object:
34617
+ type: string
34618
+ description: Distinguishes the Data Integration object.
34619
+ example: data_integration
34620
+ const: data_integration
34621
+ id:
34622
+ type: string
34623
+ description: Unique identifier of the Data Integration.
34624
+ example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
34625
+ slug:
34626
+ type: string
34627
+ description: The provider slug for this Data Integration.
34628
+ example: github
34629
+ integration_type:
34630
+ type: string
34631
+ description: The integration type derived from the provider.
34632
+ example: github
34633
+ description:
34634
+ type:
34635
+ - string
34636
+ - 'null'
34637
+ description: An optional description of the Data Integration.
34638
+ example: Production GitHub app
34639
+ enabled:
34640
+ type: boolean
34641
+ description: Whether the Data Integration is enabled.
34642
+ example: true
34643
+ state:
34644
+ type: string
34645
+ enum:
34646
+ - valid
34647
+ - invalid
34648
+ - requested
34649
+ description: The state of the Data Integration.
34650
+ example: valid
34651
+ scopes:
34652
+ description: >-
34653
+ The OAuth scopes configured for the Data Integration. `null` when
34654
+ the provider's configured scopes are used.
34655
+ example:
34656
+ - repo
34657
+ - read:org
34658
+ oneOf:
34659
+ - type: array
34660
+ items:
34661
+ type: string
34662
+ - type: 'null'
34663
+ redirect_uri:
34664
+ type: string
34665
+ description: >-
34666
+ The OAuth redirect URI to register with the provider when
34667
+ configuring the custom application.
34668
+ example: >-
34669
+ https://api.workos.com/data-integrations/github/dik_01EHZNVPK3SFK441A1RGBFSHRT/callback
34670
+ credentials:
34671
+ type: object
34672
+ properties:
34673
+ type:
34674
+ type: string
34675
+ enum:
34676
+ - custom
34677
+ - organization
34678
+ description: >-
34679
+ The credentials type. `custom` uses your own OAuth app
34680
+ credentials; `organization` has each organization supply its own
34681
+ credentials (so `client_id`/`redacted_client_secret` are null on
34682
+ the integration itself).
34683
+ example: custom
34684
+ client_id:
34685
+ type:
34686
+ - string
34687
+ - 'null'
34688
+ description: >-
34689
+ The OAuth client ID configured for the provider app. Null for
34690
+ `organization` credentials.
34691
+ example: Iv1.abc123
34692
+ redacted_client_secret:
34693
+ type:
34694
+ - string
34695
+ - 'null'
34696
+ description: >-
34697
+ The last four characters of the OAuth client secret. The full
34698
+ secret is never returned. Null for `organization` credentials.
34699
+ example: '6789'
34700
+ required:
34701
+ - type
34702
+ - client_id
34703
+ - redacted_client_secret
34704
+ description: The credentials configured for the Data Integration.
34705
+ custom_provider:
34706
+ description: >-
34707
+ The OAuth definition when this is a custom provider; `null` for
34708
+ built-in providers.
34709
+ oneOf:
34710
+ - type: object
34711
+ properties:
34712
+ name:
34713
+ type: string
34714
+ description: A descriptive name for the custom provider.
34715
+ example: My OAuth App
34716
+ authorization_url:
34717
+ type:
34718
+ - string
34719
+ - 'null'
34720
+ description: The provider's OAuth authorization endpoint.
34721
+ example: https://provider.example.com/oauth/authorize
34722
+ token_url:
34723
+ type:
34724
+ - string
34725
+ - 'null'
34726
+ description: The provider's OAuth token endpoint.
34727
+ example: https://provider.example.com/oauth/token
34728
+ refresh_token_url:
34729
+ type:
34730
+ - string
34731
+ - 'null'
34732
+ description: >-
34733
+ The endpoint used to refresh tokens, if different from the
34734
+ token endpoint.
34735
+ example: https://provider.example.com/oauth/token
34736
+ pkce_enabled:
34737
+ type: boolean
34738
+ description: Whether PKCE is used during the authorization code flow.
34739
+ example: true
34740
+ request_scope_separator:
34741
+ type: string
34742
+ description: The separator used to join requested scopes.
34743
+ example: ' '
34744
+ scopes_required:
34745
+ type: boolean
34746
+ description: >-
34747
+ Whether at least one scope must be selected when connecting
34748
+ an account.
34749
+ example: false
34750
+ client_secret_required:
34751
+ type: boolean
34752
+ description: Whether a client secret is required for this provider.
34753
+ example: true
34754
+ additional_authorization_parameters:
34755
+ type: object
34756
+ additionalProperties:
34757
+ type: string
34758
+ description: >-
34759
+ Additional static query parameters appended to the
34760
+ authorization request.
34761
+ example:
34762
+ prompt: consent
34763
+ token_body_content_type:
34764
+ type: string
34765
+ description: The Content-Type used when exchanging the token request.
34766
+ example: application/x-www-form-urlencoded
34767
+ authenticate_via:
34768
+ type: string
34769
+ enum:
34770
+ - request_body
34771
+ - basic_auth_header
34772
+ description: >-
34773
+ How client credentials are sent when exchanging
34774
+ authorization codes and refreshing tokens.
34775
+ example: request_body
34776
+ required:
34777
+ - name
34778
+ - authorization_url
34779
+ - token_url
34780
+ - refresh_token_url
34781
+ - pkce_enabled
34782
+ - request_scope_separator
34783
+ - scopes_required
34784
+ - client_secret_required
34785
+ - additional_authorization_parameters
34786
+ - token_body_content_type
34787
+ - authenticate_via
34788
+ - type: 'null'
34789
+ created_at:
34790
+ format: date-time
34791
+ type: string
34792
+ description: An ISO 8601 timestamp.
34793
+ example: '2026-01-15T12:00:00.000Z'
34794
+ updated_at:
34795
+ format: date-time
34796
+ type: string
34797
+ description: An ISO 8601 timestamp.
34798
+ example: '2026-01-15T12:00:00.000Z'
34799
+ required:
34800
+ - object
34801
+ - id
34802
+ - slug
34803
+ - integration_type
34804
+ - description
34805
+ - enabled
34806
+ - state
34807
+ - scopes
34808
+ - redirect_uri
34809
+ - credentials
34810
+ - custom_provider
34811
+ - created_at
34812
+ - updated_at
34813
+ DataIntegrationList:
34814
+ type: object
34815
+ properties:
34816
+ object:
34817
+ type: string
34818
+ description: Indicates this is a list response.
34819
+ const: list
34820
+ data:
34821
+ type: array
34822
+ items:
34823
+ $ref: '#/components/schemas/DataIntegration'
34824
+ description: The list of records for the current page.
34825
+ list_metadata:
34826
+ type: object
34827
+ properties:
34828
+ before:
34829
+ type:
34830
+ - string
34831
+ - 'null'
34832
+ description: >-
34833
+ An object ID that defines your place in the list. When the ID is
34834
+ not present, you are at the start of the list.
34835
+ example: data_integration_01HXYZ123456789ABCDEFGHIJ
34836
+ after:
34837
+ type:
34838
+ - string
34839
+ - 'null'
34840
+ description: >-
34841
+ An object ID that defines your place in the list. When the ID is
34842
+ not present, you are at the end of the list.
34843
+ example: data_integration_01HXYZ987654321KJIHGFEDCBA
34844
+ required:
34845
+ - before
34846
+ - after
34847
+ description: Pagination cursors for navigating between pages of results.
34848
+ required:
34849
+ - object
34850
+ - data
34851
+ - list_metadata
33661
34852
  DataIntegrationAuthorizeUrlResponse:
33662
34853
  type: object
33663
34854
  properties:
@@ -34232,6 +35423,22 @@ components:
34232
35423
  https://setup.workos.com?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
34233
35424
  required:
34234
35425
  - link
35426
+ SendRadarSmsChallengeResponse:
35427
+ type: object
35428
+ properties:
35429
+ verification_id:
35430
+ type: string
35431
+ description: >-
35432
+ The ID of the SMS verification. Pass this to the authenticate
35433
+ endpoint to verify the code.
35434
+ example: vrf_01HXYZ123456789ABCDEFGHIJ
35435
+ phone_number:
35436
+ type: string
35437
+ description: The phone number the verification code was sent to.
35438
+ example: '+15555550123'
35439
+ required:
35440
+ - verification_id
35441
+ - phone_number
34235
35442
  RadarStandaloneResponse:
34236
35443
  type: object
34237
35444
  properties: