@workos/openapi-spec 0.18.0 → 0.20.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: >-
@@ -10857,6 +11135,17 @@ paths:
10857
11135
  description: >-
10858
11136
  A random string generated by the client that is used to mitigate
10859
11137
  replay attacks.
11138
+ - name: prompt
11139
+ required: false
11140
+ in: query
11141
+ schema:
11142
+ type: string
11143
+ example: login
11144
+ const: login
11145
+ description: >-
11146
+ If set to `login`, forces re-authentication at the identity
11147
+ provider. For SAML connections this sets `ForceAuthn="true"` in the
11148
+ SAML request.
10860
11149
  responses:
10861
11150
  '200':
10862
11151
  description: OK
@@ -11288,6 +11577,12 @@ paths:
11288
11577
  type: string
11289
11578
  description: The user agent string from the user's browser.
11290
11579
  example: Mozilla/5.0
11580
+ signals_id:
11581
+ type: string
11582
+ description: >-
11583
+ An optional Radar signals ID to correlate client-side
11584
+ signals with this authentication attempt.
11585
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
11291
11586
  required:
11292
11587
  - client_id
11293
11588
  - grant_type
@@ -11329,6 +11624,18 @@ paths:
11329
11624
  type: string
11330
11625
  description: The user agent string from the user's browser.
11331
11626
  example: Mozilla/5.0
11627
+ signals_id:
11628
+ type: string
11629
+ description: >-
11630
+ An optional Radar signals ID to correlate client-side
11631
+ signals with this authentication attempt.
11632
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
11633
+ radar_auth_attempt_id:
11634
+ type: string
11635
+ description: >-
11636
+ The ID of an existing Radar authentication attempt to
11637
+ associate with this authentication.
11638
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
11332
11639
  required:
11333
11640
  - client_id
11334
11641
  - client_secret
@@ -11412,6 +11719,12 @@ paths:
11412
11719
  type: string
11413
11720
  description: The user agent string from the user's browser.
11414
11721
  example: Mozilla/5.0
11722
+ radar_auth_attempt_id:
11723
+ type: string
11724
+ description: >-
11725
+ The ID of an existing Radar authentication attempt to
11726
+ associate with this authentication.
11727
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
11415
11728
  required:
11416
11729
  - client_id
11417
11730
  - client_secret
@@ -11552,7 +11865,104 @@ paths:
11552
11865
  type: string
11553
11866
  description: The client ID of the application.
11554
11867
  example: client_01HXYZ123456789ABCDEFGHIJ
11555
- grant_type:
11868
+ client_secret:
11869
+ type: string
11870
+ description: The client secret of the application.
11871
+ example: sk_test_....
11872
+ grant_type:
11873
+ type: string
11874
+ const: urn:workos:oauth:grant-type:radar-email-challenge:code
11875
+ code:
11876
+ type: string
11877
+ description: The one-time code from the Radar email challenge.
11878
+ example: '123456'
11879
+ radar_challenge_id:
11880
+ type: string
11881
+ description: The ID of the Radar email challenge being verified.
11882
+ example: radar_challenge_01HXYZ123456789ABCDEFGHIJ
11883
+ pending_authentication_token:
11884
+ type: string
11885
+ description: >-
11886
+ The pending authentication token from a previous
11887
+ authentication attempt.
11888
+ example: cTDQJTTkTkkVYxbn...
11889
+ ip_address:
11890
+ type: string
11891
+ description: The IP address of the user's request.
11892
+ example: 203.0.113.42
11893
+ device_id:
11894
+ type: string
11895
+ description: A unique identifier for the device.
11896
+ example: device_01HXYZ123456789ABCDEFGHIJ
11897
+ user_agent:
11898
+ type: string
11899
+ description: The user agent string from the user's browser.
11900
+ example: Mozilla/5.0
11901
+ required:
11902
+ - client_id
11903
+ - client_secret
11904
+ - grant_type
11905
+ - code
11906
+ - radar_challenge_id
11907
+ - pending_authentication_token
11908
+ - type: object
11909
+ properties:
11910
+ client_id:
11911
+ type: string
11912
+ description: The client ID of the application.
11913
+ example: client_01HXYZ123456789ABCDEFGHIJ
11914
+ client_secret:
11915
+ type: string
11916
+ description: The client secret of the application.
11917
+ example: sk_test_....
11918
+ grant_type:
11919
+ type: string
11920
+ const: urn:workos:oauth:grant-type:radar-sms-challenge:code
11921
+ code:
11922
+ type: string
11923
+ description: The one-time code from the Radar SMS challenge.
11924
+ example: '123456'
11925
+ verification_id:
11926
+ type: string
11927
+ description: The ID of the Radar SMS verification being confirmed.
11928
+ example: vrf_01HXYZ123456789ABCDEFGHIJ
11929
+ phone_number:
11930
+ type: string
11931
+ description: The phone number the Radar SMS challenge was sent to.
11932
+ example: '+15555550123'
11933
+ pending_authentication_token:
11934
+ type: string
11935
+ description: >-
11936
+ The pending authentication token from a previous
11937
+ authentication attempt.
11938
+ example: cTDQJTTkTkkVYxbn...
11939
+ ip_address:
11940
+ type: string
11941
+ description: The IP address of the user's request.
11942
+ example: 203.0.113.42
11943
+ device_id:
11944
+ type: string
11945
+ description: A unique identifier for the device.
11946
+ example: device_01HXYZ123456789ABCDEFGHIJ
11947
+ user_agent:
11948
+ type: string
11949
+ description: The user agent string from the user's browser.
11950
+ example: Mozilla/5.0
11951
+ required:
11952
+ - client_id
11953
+ - client_secret
11954
+ - grant_type
11955
+ - code
11956
+ - verification_id
11957
+ - phone_number
11958
+ - pending_authentication_token
11959
+ - type: object
11960
+ properties:
11961
+ client_id:
11962
+ type: string
11963
+ description: The client ID of the application.
11964
+ example: client_01HXYZ123456789ABCDEFGHIJ
11965
+ grant_type:
11556
11966
  type: string
11557
11967
  const: urn:ietf:params:oauth:grant-type:device_code
11558
11968
  device_code:
@@ -13604,7 +14014,18 @@ paths:
13604
14014
  content:
13605
14015
  application/json:
13606
14016
  schema:
13607
- $ref: '#/components/schemas/MagicAuth'
14017
+ allOf:
14018
+ - $ref: '#/components/schemas/MagicAuth'
14019
+ - type: object
14020
+ properties:
14021
+ radar_auth_attempt_id:
14022
+ type: string
14023
+ description: >-
14024
+ The ID of the Radar authentication attempt created for
14025
+ this request when Radar is enabled. Pass this value to
14026
+ the authenticate endpoint to associate the subsequent
14027
+ authentication with this Radar attempt.
14028
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
13608
14029
  '400':
13609
14030
  description: Bad Request
13610
14031
  content:
@@ -14108,7 +14529,7 @@ paths:
14108
14529
  summary: Create an organization membership
14109
14530
  tags:
14110
14531
  - user-management.organization-membership
14111
- x-mutually-exclusive-body-groups: &ref_9
14532
+ x-mutually-exclusive-body-groups: &ref_10
14112
14533
  role:
14113
14534
  optional: true
14114
14535
  variants:
@@ -14292,7 +14713,7 @@ paths:
14292
14713
  summary: Update an organization membership
14293
14714
  tags:
14294
14715
  - user-management.organization-membership
14295
- x-mutually-exclusive-body-groups: &ref_10
14716
+ x-mutually-exclusive-body-groups: &ref_11
14296
14717
  role:
14297
14718
  optional: true
14298
14719
  variants:
@@ -14912,6 +15333,31 @@ paths:
14912
15333
  summary: Get a password reset token
14913
15334
  tags:
14914
15335
  - user-management.users
15336
+ /user_management/radar_challenges:
15337
+ post:
15338
+ description: >-
15339
+ Sends a one-time verification code over SMS to a user as part of a Radar
15340
+ challenge. Use the returned `verification_id` to authenticate the user
15341
+ with the `urn:workos:oauth:grant-type:radar-sms-challenge:code` grant
15342
+ type.
15343
+ operationId: PublicRadarChallengesController_sendRadarSmsChallenge
15344
+ parameters: []
15345
+ requestBody:
15346
+ required: true
15347
+ content:
15348
+ application/json:
15349
+ schema:
15350
+ $ref: '#/components/schemas/SendRadarSmsChallengeDto'
15351
+ responses:
15352
+ '201':
15353
+ description: Created
15354
+ content:
15355
+ application/json:
15356
+ schema:
15357
+ $ref: '#/components/schemas/SendRadarSmsChallengeResponse'
15358
+ summary: Send a Radar SMS challenge
15359
+ tags:
15360
+ - user-management.authentication
14915
15361
  /user_management/redirect_uris:
14916
15362
  post:
14917
15363
  description: Creates a new redirect URI for an application.
@@ -15299,7 +15745,18 @@ paths:
15299
15745
  content:
15300
15746
  application/json:
15301
15747
  schema:
15302
- $ref: '#/components/schemas/UserlandUser'
15748
+ allOf:
15749
+ - $ref: '#/components/schemas/UserlandUser'
15750
+ - type: object
15751
+ properties:
15752
+ radar_auth_attempt_id:
15753
+ type: string
15754
+ description: >-
15755
+ The ID of the Radar authentication attempt created for
15756
+ this request when Radar is enabled. Pass this value to
15757
+ the authenticate endpoint to associate the subsequent
15758
+ authentication with this Radar attempt.
15759
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
15303
15760
  '400':
15304
15761
  description: Bad Request
15305
15762
  content:
@@ -15465,7 +15922,7 @@ paths:
15465
15922
  summary: Create a user
15466
15923
  tags:
15467
15924
  - user-management.users
15468
- x-mutually-exclusive-body-groups: &ref_11
15925
+ x-mutually-exclusive-body-groups: &ref_12
15469
15926
  password:
15470
15927
  optional: true
15471
15928
  variants:
@@ -15740,7 +16197,7 @@ paths:
15740
16197
  summary: Update a user
15741
16198
  tags:
15742
16199
  - user-management.users
15743
- x-mutually-exclusive-body-groups: &ref_14
16200
+ x-mutually-exclusive-body-groups: &ref_15
15744
16201
  password:
15745
16202
  optional: true
15746
16203
  variants:
@@ -17275,6 +17732,163 @@ paths:
17275
17732
  summary: Delete a connected account
17276
17733
  tags:
17277
17734
  - user-management.data-providers
17735
+ post:
17736
+ description: >-
17737
+ Imports a [connected account](/reference/pipes/connected-account) for a
17738
+ user by providing OAuth tokens directly. Use this to migrate existing
17739
+ connections or set up connections without going through the OAuth flow.
17740
+ operationId: DataIntegrationsUserManagementController_createUserDataInstallation
17741
+ parameters:
17742
+ - name: user_id
17743
+ required: true
17744
+ in: path
17745
+ description: A [User](/reference/authkit/user) identifier.
17746
+ schema:
17747
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
17748
+ type: string
17749
+ - name: slug
17750
+ required: true
17751
+ in: path
17752
+ description: >-
17753
+ The slug identifier of the provider (e.g., `github`, `slack`,
17754
+ `notion`).
17755
+ schema:
17756
+ example: github
17757
+ type: string
17758
+ - name: organization_id
17759
+ required: false
17760
+ in: query
17761
+ description: >-
17762
+ An [Organization](/reference/organization) identifier. Optional
17763
+ parameter if the connection is scoped to an organization.
17764
+ schema:
17765
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
17766
+ type: string
17767
+ requestBody:
17768
+ required: true
17769
+ content:
17770
+ application/json:
17771
+ schema:
17772
+ $ref: '#/components/schemas/ConnectedAccountDto'
17773
+ responses:
17774
+ '201':
17775
+ description: The connected account was created successfully.
17776
+ content:
17777
+ application/json:
17778
+ schema:
17779
+ $ref: '#/components/schemas/ConnectedAccount'
17780
+ '401':
17781
+ description: The request is missing a valid API key.
17782
+ '404':
17783
+ description: The user, organization, or data integration was not found.
17784
+ content:
17785
+ application/json:
17786
+ schema:
17787
+ type: object
17788
+ properties:
17789
+ message:
17790
+ type: string
17791
+ description: A human-readable description of the error.
17792
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17793
+ required:
17794
+ - message
17795
+ '409':
17796
+ description: >-
17797
+ A connected account already exists for this user, integration, and
17798
+ organization.
17799
+ content:
17800
+ application/json:
17801
+ schema:
17802
+ type: object
17803
+ properties:
17804
+ message:
17805
+ type: string
17806
+ description: A human-readable description of the error.
17807
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17808
+ required:
17809
+ - message
17810
+ '422':
17811
+ description: >-
17812
+ The data integration is not in a valid state or the token
17813
+ combination is invalid.
17814
+ content:
17815
+ application/json:
17816
+ schema:
17817
+ type: object
17818
+ properties:
17819
+ message:
17820
+ type: string
17821
+ description: A human-readable description of the error.
17822
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17823
+ required:
17824
+ - message
17825
+ summary: Import a connected account
17826
+ tags:
17827
+ - user-management.data-providers
17828
+ x-feature-flag: pipes-management-api
17829
+ put:
17830
+ description: >-
17831
+ Updates a user's [connected account](/reference/pipes/connected-account)
17832
+ tokens, scopes, or state for a specific provider.
17833
+ operationId: DataIntegrationsUserManagementController_updateUserDataInstallation
17834
+ parameters:
17835
+ - name: user_id
17836
+ required: true
17837
+ in: path
17838
+ description: A [User](/reference/authkit/user) identifier.
17839
+ schema:
17840
+ example: user_01EHZNVPK3SFK441A1RGBFSHRT
17841
+ type: string
17842
+ - name: slug
17843
+ required: true
17844
+ in: path
17845
+ description: >-
17846
+ The slug identifier of the provider (e.g., `github`, `slack`,
17847
+ `notion`).
17848
+ schema:
17849
+ example: github
17850
+ type: string
17851
+ - name: organization_id
17852
+ required: false
17853
+ in: query
17854
+ description: >-
17855
+ An [Organization](/reference/organization) identifier. Optional
17856
+ parameter if the connection is scoped to an organization.
17857
+ schema:
17858
+ example: org_01EHZNVPK3SFK441A1RGBFSHRT
17859
+ type: string
17860
+ requestBody:
17861
+ required: true
17862
+ content:
17863
+ application/json:
17864
+ schema:
17865
+ $ref: '#/components/schemas/ConnectedAccountDto'
17866
+ responses:
17867
+ '200':
17868
+ description: The connected account was updated successfully.
17869
+ content:
17870
+ application/json:
17871
+ schema:
17872
+ $ref: '#/components/schemas/ConnectedAccount'
17873
+ '401':
17874
+ description: The request is missing a valid API key.
17875
+ '404':
17876
+ description: The user, organization, or connected account was not found.
17877
+ content:
17878
+ application/json:
17879
+ schema:
17880
+ type: object
17881
+ properties:
17882
+ message:
17883
+ type: string
17884
+ description: A human-readable description of the error.
17885
+ example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'
17886
+ required:
17887
+ - message
17888
+ summary: Update a connected account
17889
+ tags:
17890
+ - user-management.data-providers
17891
+ x-feature-flag: pipes-management-api
17278
17892
  /user_management/users/{user_id}/data_providers:
17279
17893
  get:
17280
17894
  description: >-
@@ -19703,50 +20317,332 @@ components:
19703
20317
  allow_profiles_outside_organization:
19704
20318
  type: boolean
19705
20319
  description: >-
19706
- Whether the organization allows profiles from outside the
19707
- organization to sign in.
19708
- example: false
19709
- domains:
20320
+ Whether the organization allows profiles from outside the
20321
+ organization to sign in.
20322
+ example: false
20323
+ domains:
20324
+ description: >-
20325
+ The domains associated with the organization. Deprecated in favor of
20326
+ `domain_data`.
20327
+ example:
20328
+ - foo-corp.com
20329
+ deprecated: true
20330
+ type: array
20331
+ items:
20332
+ type: string
20333
+ domain_data:
20334
+ description: >-
20335
+ The domains associated with the organization, including verification
20336
+ state.
20337
+ type: array
20338
+ items:
20339
+ $ref: '#/components/schemas/OrganizationDomainDataDto'
20340
+ stripe_customer_id:
20341
+ type: string
20342
+ description: The Stripe customer ID associated with the organization.
20343
+ example: cus_R9qWAGMQ6nGE7V
20344
+ metadata:
20345
+ type:
20346
+ - object
20347
+ - 'null'
20348
+ additionalProperties: *ref_7
20349
+ maxProperties: 50
20350
+ example: *ref_8
20351
+ description: >-
20352
+ Object containing [metadata](/authkit/metadata) key/value pairs
20353
+ associated with the Organization.
20354
+ propertyNames:
20355
+ maxLength: 40
20356
+ external_id:
20357
+ type:
20358
+ - string
20359
+ - 'null'
20360
+ maxLength: 128
20361
+ pattern: ^[\x00-\x7F]+$
20362
+ example: 2fe01467-f7ea-4dd2-8b79-c2b4f56d0191
20363
+ description: An external identifier for the Organization.
20364
+ DataIntegrationCredentialsDto:
20365
+ type: object
20366
+ properties:
20367
+ type:
20368
+ type: string
20369
+ enum:
20370
+ - custom
20371
+ - organization
20372
+ example: custom
20373
+ description: >-
20374
+ The credentials type. `custom` uses your own OAuth app credentials;
20375
+ `organization` has each organization supply its own credentials
20376
+ (configured per-organization).
20377
+ client_id:
20378
+ type: string
20379
+ description: >-
20380
+ OAuth client ID for the provider app. Required when `type` is
20381
+ `custom`; omit for `organization`.
20382
+ example: Iv1.abc123
20383
+ client_secret:
20384
+ type: string
20385
+ description: >-
20386
+ OAuth client secret for the provider app. Required when `type` is
20387
+ `custom`; omit for `organization`.
20388
+ example: secret_…
20389
+ required:
20390
+ - type
20391
+ CustomProviderDefinitionDto:
20392
+ type: object
20393
+ properties:
20394
+ name:
20395
+ type: string
20396
+ description: A descriptive name for the custom provider.
20397
+ example: My OAuth App
20398
+ authorization_url:
20399
+ type: string
20400
+ format: uri
20401
+ description: The provider's OAuth authorization endpoint.
20402
+ example: https://provider.example.com/oauth/authorize
20403
+ token_url:
20404
+ type: string
20405
+ format: uri
20406
+ description: The provider's OAuth token endpoint.
20407
+ example: https://provider.example.com/oauth/token
20408
+ refresh_token_url:
20409
+ type:
20410
+ - string
20411
+ - 'null'
20412
+ format: uri
20413
+ description: >-
20414
+ The endpoint used to refresh tokens, if different from the token
20415
+ endpoint.
20416
+ example: https://provider.example.com/oauth/token
20417
+ pkce_enabled:
20418
+ type: boolean
20419
+ description: >-
20420
+ Whether PKCE is used during the authorization code flow. Defaults to
20421
+ `true`.
20422
+ example: true
20423
+ request_scope_separator:
20424
+ type: string
20425
+ description: The separator used to join requested scopes. Defaults to a space.
20426
+ example: ' '
20427
+ scopes_required:
20428
+ type: boolean
20429
+ description: >-
20430
+ Whether at least one scope must be selected when connecting an
20431
+ account. Defaults to `false`.
20432
+ example: false
20433
+ client_secret_required:
20434
+ type: boolean
20435
+ description: >-
20436
+ Whether a client secret is required for this provider. Defaults to
20437
+ `true`.
20438
+ example: true
20439
+ additional_authorization_parameters:
20440
+ type: object
20441
+ description: >-
20442
+ Additional static query parameters appended to the authorization
20443
+ request.
20444
+ additionalProperties:
20445
+ type: string
20446
+ example:
20447
+ prompt: consent
20448
+ token_body_content_type:
20449
+ type: string
20450
+ description: The Content-Type used when exchanging the token request.
20451
+ example: application/x-www-form-urlencoded
20452
+ authenticate_via:
20453
+ type: string
20454
+ enum: &ref_9
20455
+ - request_body
20456
+ - basic_auth_header
20457
+ description: >-
20458
+ How client credentials are sent when exchanging authorization codes
20459
+ and refreshing tokens.
20460
+ example: request_body
20461
+ required:
20462
+ - name
20463
+ - authorization_url
20464
+ - token_url
20465
+ CreateDataIntegrationDto:
20466
+ type: object
20467
+ properties:
20468
+ provider:
20469
+ type: string
20470
+ description: >-
20471
+ The provider to create a Data Integration for. For a built-in
20472
+ provider use its slug (e.g. `github`, `slack`). For a custom
20473
+ provider, this is the new provider slug and `custom_provider` must
20474
+ be supplied. A custom provider slug cannot shadow an existing global
20475
+ provider slug.
20476
+ example: github
20477
+ description:
20478
+ type:
20479
+ - string
20480
+ - 'null'
20481
+ description: An optional description of the Data Integration.
20482
+ example: Production GitHub app
20483
+ enabled:
20484
+ type: boolean
20485
+ description: Whether the Data Integration is enabled. Defaults to `false`.
20486
+ example: true
20487
+ scopes:
20488
+ description: >-
20489
+ The OAuth scopes to request for the Data Integration. Defaults to
20490
+ the provider's configured scopes when omitted.
20491
+ example:
20492
+ - repo
20493
+ - read:org
20494
+ type:
20495
+ - array
20496
+ - 'null'
20497
+ items:
20498
+ type: string
20499
+ credentials:
20500
+ description: >-
20501
+ The credentials to configure for the Data Integration. Required for
20502
+ both built-in and custom providers.
20503
+ $ref: '#/components/schemas/DataIntegrationCredentialsDto'
20504
+ custom_provider:
20505
+ description: >-
20506
+ The OAuth definition for a custom provider. Supply this to define a
20507
+ custom provider; omit it to create an integration for a built-in
20508
+ provider.
20509
+ $ref: '#/components/schemas/CustomProviderDefinitionDto'
20510
+ required:
20511
+ - provider
20512
+ UpdateCustomProviderDefinitionDto:
20513
+ type: object
20514
+ properties:
20515
+ name:
20516
+ type: string
20517
+ description: A descriptive name for the custom provider.
20518
+ example: My OAuth App
20519
+ authorization_url:
20520
+ type: string
20521
+ format: uri
20522
+ description: The provider's OAuth authorization endpoint.
20523
+ example: https://provider.example.com/oauth/authorize
20524
+ token_url:
20525
+ type: string
20526
+ format: uri
20527
+ description: The provider's OAuth token endpoint.
20528
+ example: https://provider.example.com/oauth/token
20529
+ refresh_token_url:
20530
+ type:
20531
+ - string
20532
+ - 'null'
20533
+ format: uri
20534
+ description: >-
20535
+ The endpoint used to refresh tokens, if different from the token
20536
+ endpoint.
20537
+ example: https://provider.example.com/oauth/token
20538
+ pkce_enabled:
20539
+ type: boolean
20540
+ description: Whether PKCE is used during the authorization code flow.
20541
+ example: true
20542
+ request_scope_separator:
20543
+ type: string
20544
+ description: The separator used to join requested scopes.
20545
+ example: ' '
20546
+ scopes_required:
20547
+ type: boolean
20548
+ description: >-
20549
+ Whether at least one scope must be selected when connecting an
20550
+ account.
20551
+ example: false
20552
+ client_secret_required:
20553
+ type: boolean
20554
+ description: Whether a client secret is required for this provider.
20555
+ example: true
20556
+ additional_authorization_parameters:
20557
+ type: object
20558
+ description: >-
20559
+ Additional static query parameters appended to the authorization
20560
+ request.
20561
+ additionalProperties:
20562
+ type: string
20563
+ example:
20564
+ prompt: consent
20565
+ token_body_content_type:
20566
+ type: string
20567
+ description: The Content-Type used when exchanging the token request.
20568
+ example: application/x-www-form-urlencoded
20569
+ authenticate_via:
20570
+ type: string
20571
+ enum: *ref_9
20572
+ description: >-
20573
+ How client credentials are sent when exchanging authorization codes
20574
+ and refreshing tokens.
20575
+ example: request_body
20576
+ UpdateDataIntegrationDto:
20577
+ type: object
20578
+ properties:
20579
+ description:
20580
+ type:
20581
+ - string
20582
+ - 'null'
20583
+ description: An optional description of the Data Integration.
20584
+ example: Production GitHub app
20585
+ enabled:
20586
+ type: boolean
20587
+ description: Whether the Data Integration is enabled.
20588
+ example: true
20589
+ scopes:
20590
+ description: >-
20591
+ The OAuth scopes to request for the Data Integration. Pass `null` to
20592
+ reset to the provider's configured scopes.
20593
+ example:
20594
+ - repo
20595
+ - read:org
20596
+ type:
20597
+ - array
20598
+ - 'null'
20599
+ items:
20600
+ type: string
20601
+ credentials:
20602
+ description: >-
20603
+ New credentials for the Data Integration. When provided, rotates the
20604
+ stored client secret.
20605
+ $ref: '#/components/schemas/DataIntegrationCredentialsDto'
20606
+ custom_provider:
20607
+ description: >-
20608
+ Updates to a custom provider's OAuth definition. Only valid for
20609
+ custom-provider integrations.
20610
+ $ref: '#/components/schemas/UpdateCustomProviderDefinitionDto'
20611
+ ConnectedAccountDto:
20612
+ type: object
20613
+ properties:
20614
+ access_token:
20615
+ type: string
20616
+ description: The OAuth access token for the connected account.
20617
+ example: gho_16C7e42F292c6912E7710c838347Ae178B4a
20618
+ refresh_token:
20619
+ type: string
20620
+ description: The OAuth refresh token for the connected account.
20621
+ example: ghr_xxxxxxxxxxxxxxxxxxxx
20622
+ expires_at:
20623
+ type: string
19710
20624
  description: >-
19711
- The domains associated with the organization. Deprecated in favor of
19712
- `domain_data`.
20625
+ The ISO-8601 timestamp when the access token expires. Required when
20626
+ `access_token` is provided for tokens that expire.
20627
+ example: '2025-12-31T23:59:59.000Z'
20628
+ format: date-time
20629
+ scopes:
20630
+ description: The OAuth scopes granted for this connection.
19713
20631
  example:
19714
- - foo-corp.com
19715
- deprecated: true
20632
+ - repo
20633
+ - user:email
19716
20634
  type: array
19717
20635
  items:
19718
20636
  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:
20637
+ state:
19727
20638
  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
20639
+ enum:
20640
+ - connected
20641
+ - needs_reauthorization
19737
20642
  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.
20643
+ Explicitly set the state of the connected account. When omitted, the
20644
+ state is derived from the token combination provided.
20645
+ example: connected
19750
20646
  GenerateLinkDto:
19751
20647
  type: object
19752
20648
  properties:
@@ -19804,6 +20700,35 @@ components:
19804
20700
  type: array
19805
20701
  required:
19806
20702
  - organization
20703
+ SendRadarSmsChallengeDto:
20704
+ type: object
20705
+ properties:
20706
+ user_id:
20707
+ type: string
20708
+ description: The ID of the user to send the SMS challenge to.
20709
+ example: user_01E4ZCR3C56J083X43JQXF3JK5
20710
+ pending_authentication_token:
20711
+ type: string
20712
+ description: >-
20713
+ The pending authentication token from a previous authentication
20714
+ attempt that triggered the Radar challenge.
20715
+ example: cTDQJTTkTkkVYxbn...
20716
+ phone_number:
20717
+ type: string
20718
+ description: The phone number to send the SMS verification code to.
20719
+ example: '+15555550123'
20720
+ ip_address:
20721
+ type: string
20722
+ description: The IP address of the user's request.
20723
+ example: 203.0.113.42
20724
+ user_agent:
20725
+ type: string
20726
+ description: The user agent string from the user's request.
20727
+ example: Mozilla/5.0
20728
+ required:
20729
+ - user_id
20730
+ - pending_authentication_token
20731
+ - phone_number
19807
20732
  CreateRedirectUriDto:
19808
20733
  type: object
19809
20734
  properties:
@@ -19854,6 +20779,26 @@ components:
19854
20779
  type: string
19855
20780
  description: The invitation token to associate with this magic code.
19856
20781
  example: Z1Y2X3W4V5U6T7S8R9Q0P1O2N3
20782
+ ip_address:
20783
+ type: string
20784
+ description: The IP address of the user's request.
20785
+ example: 203.0.113.42
20786
+ user_agent:
20787
+ type: string
20788
+ description: The user agent string from the user's request.
20789
+ example: Mozilla/5.0
20790
+ radar_auth_attempt_id:
20791
+ type: string
20792
+ description: >-
20793
+ The ID of an existing Radar authentication attempt to associate with
20794
+ this request.
20795
+ example: radar_auth_attempt_01HXYZ123456789ABCDEFGHIJ
20796
+ signals_id:
20797
+ type: string
20798
+ description: >-
20799
+ An optional Radar signals ID to correlate client-side signals with
20800
+ this request.
20801
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
19857
20802
  required:
19858
20803
  - email
19859
20804
  CreateUserlandUserInviteOptionsDto:
@@ -20156,9 +21101,9 @@ components:
20156
21101
  x-exclude-from-lint: true
20157
21102
  required:
20158
21103
  - role_slug
20159
- x-mutually-exclusive-body-groups: *ref_9
20160
- UpdateUserlandUserOrganizationMembershipDto:
20161
21104
  x-mutually-exclusive-body-groups: *ref_10
21105
+ UpdateUserlandUserOrganizationMembershipDto:
21106
+ x-mutually-exclusive-body-groups: *ref_11
20162
21107
  oneOf:
20163
21108
  - type: object
20164
21109
  not:
@@ -20282,7 +21227,7 @@ components:
20282
21227
  - 'null'
20283
21228
  additionalProperties: *ref_7
20284
21229
  maxProperties: 50
20285
- example: &ref_12
21230
+ example: &ref_13
20286
21231
  timezone: America/New_York
20287
21232
  description: >-
20288
21233
  Object containing metadata key/value pairs associated with the
@@ -20297,6 +21242,24 @@ components:
20297
21242
  pattern: ^[\x00-\x7F]+$
20298
21243
  description: The external ID of the user.
20299
21244
  example: f1ffa2b2-c20b-4d39-be5c-212726e11222
21245
+ ip_address:
21246
+ type:
21247
+ - string
21248
+ - 'null'
21249
+ description: The IP address of the user's request.
21250
+ example: 203.0.113.42
21251
+ user_agent:
21252
+ type:
21253
+ - string
21254
+ - 'null'
21255
+ description: The user agent string from the user's request.
21256
+ example: Mozilla/5.0
21257
+ signals_id:
21258
+ type: string
21259
+ description: >-
21260
+ An optional Radar signals ID to correlate client-side signals
21261
+ with this request.
21262
+ example: 01JBS0GN92GC2RJQS4X9DBPQ2A
20300
21263
  required:
20301
21264
  - email
20302
21265
  - oneOf:
@@ -20352,7 +21315,7 @@ components:
20352
21315
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20353
21316
  password_hash_type:
20354
21317
  type: string
20355
- enum: &ref_13
21318
+ enum: &ref_14
20356
21319
  - bcrypt
20357
21320
  - firebase-scrypt
20358
21321
  - ssha
@@ -20374,7 +21337,7 @@ components:
20374
21337
  x-exclude-from-lint: true
20375
21338
  required:
20376
21339
  - password
20377
- x-mutually-exclusive-body-groups: *ref_11
21340
+ x-mutually-exclusive-body-groups: *ref_12
20378
21341
  UpdateUserlandUserDto:
20379
21342
  allOf:
20380
21343
  - type: object
@@ -20406,7 +21369,7 @@ components:
20406
21369
  - 'null'
20407
21370
  additionalProperties: *ref_7
20408
21371
  maxProperties: 50
20409
- example: *ref_12
21372
+ example: *ref_13
20410
21373
  description: >-
20411
21374
  Object containing metadata key/value pairs associated with the
20412
21375
  user.
@@ -20477,7 +21440,7 @@ components:
20477
21440
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20478
21441
  password_hash_type:
20479
21442
  type: string
20480
- enum: *ref_13
21443
+ enum: *ref_14
20481
21444
  description: >-
20482
21445
  The algorithm originally used to hash the password, used
20483
21446
  when providing a `password_hash`. Required with
@@ -20493,7 +21456,7 @@ components:
20493
21456
  x-exclude-from-lint: true
20494
21457
  required:
20495
21458
  - password
20496
- x-mutually-exclusive-body-groups: *ref_14
21459
+ x-mutually-exclusive-body-groups: *ref_15
20497
21460
  VerifyEmailAddressDto:
20498
21461
  type: object
20499
21462
  properties:
@@ -20568,7 +21531,7 @@ components:
20568
21531
  description: The events that the Webhook Endpoint is subscribed to.
20569
21532
  items:
20570
21533
  type: string
20571
- enum: &ref_15
21534
+ enum: &ref_16
20572
21535
  - agent.registration.created
20573
21536
  - agent.registration.claim.attempt.created
20574
21537
  - agent.registration.claim.completed
@@ -20682,7 +21645,7 @@ components:
20682
21645
  description: The events that the Webhook Endpoint is subscribed to.
20683
21646
  items:
20684
21647
  type: string
20685
- enum: *ref_15
21648
+ enum: *ref_16
20686
21649
  example:
20687
21650
  - user.created
20688
21651
  - dsync.user.created
@@ -23879,7 +24842,7 @@ components:
23879
24842
  description: >-
23880
24843
  An object containing the custom attribute mapping for the Directory
23881
24844
  Provider.
23882
- example: &ref_18
24845
+ example: &ref_19
23883
24846
  department: Engineering
23884
24847
  job_title: Software Engineer
23885
24848
  role:
@@ -24057,7 +25020,7 @@ components:
24057
25020
  type: object
24058
25021
  additionalProperties: {}
24059
25022
  description: The event payload.
24060
- example: &ref_16
25023
+ example: &ref_17
24061
25024
  id: directory_user_01E1JG7J09H96KYP8HM9B0G5SJ
24062
25025
  directory_id: directory_01ECAZ4NV9QMV47GW873HDCX74
24063
25026
  organization_id: org_01EZTR6WYX1A0DSE2CYMGXQ24Y
@@ -24092,11 +25055,11 @@ components:
24092
25055
  - data
24093
25056
  - created_at
24094
25057
  description: An event emitted by WorkOS.
24095
- example: &ref_23
25058
+ example: &ref_24
24096
25059
  object: event
24097
25060
  id: event_01EHZNVPK3SFK441A1RGBFSHRT
24098
25061
  event: dsync.user.created
24099
- data: *ref_16
25062
+ data: *ref_17
24100
25063
  created_at: '2021-06-25T19:07:33.155Z'
24101
25064
  context: {}
24102
25065
  - oneOf:
@@ -24766,7 +25729,7 @@ components:
24766
25729
  items:
24767
25730
  type: string
24768
25731
  description: The permissions granted to the API key.
24769
- example: &ref_17
25732
+ example: &ref_18
24770
25733
  - users:read
24771
25734
  - users:write
24772
25735
  created_at:
@@ -24892,7 +25855,7 @@ components:
24892
25855
  items:
24893
25856
  type: string
24894
25857
  description: The permissions granted to the API key.
24895
- example: *ref_17
25858
+ example: *ref_18
24896
25859
  created_at:
24897
25860
  type: string
24898
25861
  description: The timestamp when the API key was created.
@@ -25016,7 +25979,7 @@ components:
25016
25979
  items:
25017
25980
  type: string
25018
25981
  description: The permissions granted to the API key.
25019
- example: *ref_17
25982
+ example: *ref_18
25020
25983
  created_at:
25021
25984
  type: string
25022
25985
  description: The timestamp when the API key was created.
@@ -27878,7 +28841,7 @@ components:
27878
28841
  description: >-
27879
28842
  An object containing the custom attribute mapping for
27880
28843
  the Directory Provider.
27881
- example: *ref_18
28844
+ example: *ref_19
27882
28845
  role:
27883
28846
  $ref: '#/components/schemas/SlimRole'
27884
28847
  roles:
@@ -28068,7 +29031,7 @@ components:
28068
29031
  description: >-
28069
29032
  Labels assigned to the Feature Flag for categorizing and
28070
29033
  filtering.
28071
- example: &ref_19
29034
+ example: &ref_20
28072
29035
  - reports
28073
29036
  enabled:
28074
29037
  type: boolean
@@ -28229,7 +29192,7 @@ components:
28229
29192
  description: >-
28230
29193
  Labels assigned to the Feature Flag for categorizing and
28231
29194
  filtering.
28232
- example: *ref_19
29195
+ example: *ref_20
28233
29196
  enabled:
28234
29197
  type: boolean
28235
29198
  description: >-
@@ -28389,7 +29352,7 @@ components:
28389
29352
  description: >-
28390
29353
  Labels assigned to the Feature Flag for categorizing and
28391
29354
  filtering.
28392
- example: *ref_19
29355
+ example: *ref_20
28393
29356
  enabled:
28394
29357
  type: boolean
28395
29358
  description: >-
@@ -28669,7 +29632,7 @@ components:
28669
29632
  description: >-
28670
29633
  Labels assigned to the Feature Flag for categorizing and
28671
29634
  filtering.
28672
- example: *ref_19
29635
+ example: *ref_20
28673
29636
  enabled:
28674
29637
  type: boolean
28675
29638
  description: >-
@@ -29657,7 +30620,7 @@ components:
29657
30620
  description: >-
29658
30621
  Object containing [metadata](/authkit/metadata)
29659
30622
  key/value pairs associated with the Organization.
29660
- example: &ref_20
30623
+ example: &ref_21
29661
30624
  tier: diamond
29662
30625
  propertyNames:
29663
30626
  maxLength: 40
@@ -29807,7 +30770,7 @@ components:
29807
30770
  description: >-
29808
30771
  Object containing [metadata](/authkit/metadata)
29809
30772
  key/value pairs associated with the Organization.
29810
- example: *ref_20
30773
+ example: *ref_21
29811
30774
  propertyNames:
29812
30775
  maxLength: 40
29813
30776
  maxProperties: 50
@@ -30634,7 +31597,7 @@ components:
30634
31597
  items:
30635
31598
  type: string
30636
31599
  description: The permissions granted by the role.
30637
- example: &ref_21
31600
+ example: &ref_22
30638
31601
  - users:read
30639
31602
  - users:write
30640
31603
  created_at:
@@ -30718,7 +31681,7 @@ components:
30718
31681
  items:
30719
31682
  type: string
30720
31683
  description: The permissions granted by the role.
30721
- example: *ref_21
31684
+ example: *ref_22
30722
31685
  created_at:
30723
31686
  format: date-time
30724
31687
  type: string
@@ -30800,7 +31763,7 @@ components:
30800
31763
  items:
30801
31764
  type: string
30802
31765
  description: The permissions granted by the role.
30803
- example: *ref_21
31766
+ example: *ref_22
30804
31767
  created_at:
30805
31768
  format: date-time
30806
31769
  type: string
@@ -30937,7 +31900,7 @@ components:
30937
31900
  description: >-
30938
31901
  Object containing [metadata](/authkit/metadata)
30939
31902
  key/value pairs associated with the Organization.
30940
- example: *ref_20
31903
+ example: *ref_21
30941
31904
  propertyNames:
30942
31905
  maxLength: 40
30943
31906
  maxProperties: 50
@@ -31568,7 +32531,7 @@ components:
31568
32531
  items:
31569
32532
  type: string
31570
32533
  description: The permissions granted by the role.
31571
- example: &ref_22
32534
+ example: &ref_23
31572
32535
  - users:read
31573
32536
  - users:write
31574
32537
  created_at:
@@ -31634,7 +32597,7 @@ components:
31634
32597
  items:
31635
32598
  type: string
31636
32599
  description: The permissions granted by the role.
31637
- example: *ref_22
32600
+ example: *ref_23
31638
32601
  created_at:
31639
32602
  format: date-time
31640
32603
  type: string
@@ -31698,7 +32661,7 @@ components:
31698
32661
  items:
31699
32662
  type: string
31700
32663
  description: The permissions granted by the role.
31701
- example: *ref_22
32664
+ example: *ref_23
31702
32665
  created_at:
31703
32666
  format: date-time
31704
32667
  type: string
@@ -32781,7 +33744,7 @@ components:
32781
33744
  - data
32782
33745
  - created_at
32783
33746
  - object
32784
- example: *ref_23
33747
+ example: *ref_24
32785
33748
  description: An event emitted by WorkOS.
32786
33749
  EventList:
32787
33750
  type: object
@@ -32816,7 +33779,7 @@ components:
32816
33779
  example:
32817
33780
  object: list
32818
33781
  data:
32819
- - *ref_23
33782
+ - *ref_24
32820
33783
  list_metadata:
32821
33784
  after: event_01EHZNVPK3SFK441A1RGBFSHRT
32822
33785
  JwtTemplate:
@@ -33658,6 +34621,245 @@ components:
33658
34621
  The OAuth client secret of the organization's own application. Must
33659
34622
  be provided together with `client_id`.
33660
34623
  example: ••••••••
34624
+ DataIntegration:
34625
+ type: object
34626
+ properties:
34627
+ object:
34628
+ type: string
34629
+ description: Distinguishes the Data Integration object.
34630
+ example: data_integration
34631
+ const: data_integration
34632
+ id:
34633
+ type: string
34634
+ description: Unique identifier of the Data Integration.
34635
+ example: data_integration_01EHZNVPK3SFK441A1RGBFSHRT
34636
+ slug:
34637
+ type: string
34638
+ description: The provider slug for this Data Integration.
34639
+ example: github
34640
+ integration_type:
34641
+ type: string
34642
+ description: The integration type derived from the provider.
34643
+ example: github
34644
+ description:
34645
+ type:
34646
+ - string
34647
+ - 'null'
34648
+ description: An optional description of the Data Integration.
34649
+ example: Production GitHub app
34650
+ enabled:
34651
+ type: boolean
34652
+ description: Whether the Data Integration is enabled.
34653
+ example: true
34654
+ state:
34655
+ type: string
34656
+ enum:
34657
+ - valid
34658
+ - invalid
34659
+ - requested
34660
+ description: The state of the Data Integration.
34661
+ example: valid
34662
+ scopes:
34663
+ description: >-
34664
+ The OAuth scopes configured for the Data Integration. `null` when
34665
+ the provider's configured scopes are used.
34666
+ example:
34667
+ - repo
34668
+ - read:org
34669
+ oneOf:
34670
+ - type: array
34671
+ items:
34672
+ type: string
34673
+ - type: 'null'
34674
+ redirect_uri:
34675
+ type: string
34676
+ description: >-
34677
+ The OAuth redirect URI to register with the provider when
34678
+ configuring the custom application.
34679
+ example: >-
34680
+ https://api.workos.com/data-integrations/github/dik_01EHZNVPK3SFK441A1RGBFSHRT/callback
34681
+ credentials:
34682
+ type: object
34683
+ properties:
34684
+ type:
34685
+ type: string
34686
+ enum:
34687
+ - custom
34688
+ - organization
34689
+ description: >-
34690
+ The credentials type. `custom` uses your own OAuth app
34691
+ credentials; `organization` has each organization supply its own
34692
+ credentials (so `client_id`/`redacted_client_secret` are null on
34693
+ the integration itself).
34694
+ example: custom
34695
+ client_id:
34696
+ type:
34697
+ - string
34698
+ - 'null'
34699
+ description: >-
34700
+ The OAuth client ID configured for the provider app. Null for
34701
+ `organization` credentials.
34702
+ example: Iv1.abc123
34703
+ redacted_client_secret:
34704
+ type:
34705
+ - string
34706
+ - 'null'
34707
+ description: >-
34708
+ The last four characters of the OAuth client secret. The full
34709
+ secret is never returned. Null for `organization` credentials.
34710
+ example: '6789'
34711
+ required:
34712
+ - type
34713
+ - client_id
34714
+ - redacted_client_secret
34715
+ description: The credentials configured for the Data Integration.
34716
+ custom_provider:
34717
+ description: >-
34718
+ The OAuth definition when this is a custom provider; `null` for
34719
+ built-in providers.
34720
+ oneOf:
34721
+ - type: object
34722
+ properties:
34723
+ name:
34724
+ type: string
34725
+ description: A descriptive name for the custom provider.
34726
+ example: My OAuth App
34727
+ authorization_url:
34728
+ type:
34729
+ - string
34730
+ - 'null'
34731
+ description: The provider's OAuth authorization endpoint.
34732
+ example: https://provider.example.com/oauth/authorize
34733
+ token_url:
34734
+ type:
34735
+ - string
34736
+ - 'null'
34737
+ description: The provider's OAuth token endpoint.
34738
+ example: https://provider.example.com/oauth/token
34739
+ refresh_token_url:
34740
+ type:
34741
+ - string
34742
+ - 'null'
34743
+ description: >-
34744
+ The endpoint used to refresh tokens, if different from the
34745
+ token endpoint.
34746
+ example: https://provider.example.com/oauth/token
34747
+ pkce_enabled:
34748
+ type: boolean
34749
+ description: Whether PKCE is used during the authorization code flow.
34750
+ example: true
34751
+ request_scope_separator:
34752
+ type: string
34753
+ description: The separator used to join requested scopes.
34754
+ example: ' '
34755
+ scopes_required:
34756
+ type: boolean
34757
+ description: >-
34758
+ Whether at least one scope must be selected when connecting
34759
+ an account.
34760
+ example: false
34761
+ client_secret_required:
34762
+ type: boolean
34763
+ description: Whether a client secret is required for this provider.
34764
+ example: true
34765
+ additional_authorization_parameters:
34766
+ type: object
34767
+ additionalProperties:
34768
+ type: string
34769
+ description: >-
34770
+ Additional static query parameters appended to the
34771
+ authorization request.
34772
+ example:
34773
+ prompt: consent
34774
+ token_body_content_type:
34775
+ type: string
34776
+ description: The Content-Type used when exchanging the token request.
34777
+ example: application/x-www-form-urlencoded
34778
+ authenticate_via:
34779
+ type: string
34780
+ enum:
34781
+ - request_body
34782
+ - basic_auth_header
34783
+ description: >-
34784
+ How client credentials are sent when exchanging
34785
+ authorization codes and refreshing tokens.
34786
+ example: request_body
34787
+ required:
34788
+ - name
34789
+ - authorization_url
34790
+ - token_url
34791
+ - refresh_token_url
34792
+ - pkce_enabled
34793
+ - request_scope_separator
34794
+ - scopes_required
34795
+ - client_secret_required
34796
+ - additional_authorization_parameters
34797
+ - token_body_content_type
34798
+ - authenticate_via
34799
+ - type: 'null'
34800
+ created_at:
34801
+ format: date-time
34802
+ type: string
34803
+ description: An ISO 8601 timestamp.
34804
+ example: '2026-01-15T12:00:00.000Z'
34805
+ updated_at:
34806
+ format: date-time
34807
+ type: string
34808
+ description: An ISO 8601 timestamp.
34809
+ example: '2026-01-15T12:00:00.000Z'
34810
+ required:
34811
+ - object
34812
+ - id
34813
+ - slug
34814
+ - integration_type
34815
+ - description
34816
+ - enabled
34817
+ - state
34818
+ - scopes
34819
+ - redirect_uri
34820
+ - credentials
34821
+ - custom_provider
34822
+ - created_at
34823
+ - updated_at
34824
+ DataIntegrationList:
34825
+ type: object
34826
+ properties:
34827
+ object:
34828
+ type: string
34829
+ description: Indicates this is a list response.
34830
+ const: list
34831
+ data:
34832
+ type: array
34833
+ items:
34834
+ $ref: '#/components/schemas/DataIntegration'
34835
+ description: The list of records for the current page.
34836
+ list_metadata:
34837
+ type: object
34838
+ properties:
34839
+ before:
34840
+ type:
34841
+ - string
34842
+ - 'null'
34843
+ description: >-
34844
+ An object ID that defines your place in the list. When the ID is
34845
+ not present, you are at the start of the list.
34846
+ example: data_integration_01HXYZ123456789ABCDEFGHIJ
34847
+ after:
34848
+ type:
34849
+ - string
34850
+ - 'null'
34851
+ description: >-
34852
+ An object ID that defines your place in the list. When the ID is
34853
+ not present, you are at the end of the list.
34854
+ example: data_integration_01HXYZ987654321KJIHGFEDCBA
34855
+ required:
34856
+ - before
34857
+ - after
34858
+ description: Pagination cursors for navigating between pages of results.
34859
+ required:
34860
+ - object
34861
+ - data
34862
+ - list_metadata
33661
34863
  DataIntegrationAuthorizeUrlResponse:
33662
34864
  type: object
33663
34865
  properties:
@@ -34232,6 +35434,22 @@ components:
34232
35434
  https://setup.workos.com?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
34233
35435
  required:
34234
35436
  - link
35437
+ SendRadarSmsChallengeResponse:
35438
+ type: object
35439
+ properties:
35440
+ verification_id:
35441
+ type: string
35442
+ description: >-
35443
+ The ID of the SMS verification. Pass this to the authenticate
35444
+ endpoint to verify the code.
35445
+ example: vrf_01HXYZ123456789ABCDEFGHIJ
35446
+ phone_number:
35447
+ type: string
35448
+ description: The phone number the verification code was sent to.
35449
+ example: '+15555550123'
35450
+ required:
35451
+ - verification_id
35452
+ - phone_number
34235
35453
  RadarStandaloneResponse:
34236
35454
  type: object
34237
35455
  properties: