@workos/openapi-spec 0.17.1 → 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: >-
@@ -18796,10 +19399,12 @@ components:
18796
19399
  type: string
18797
19400
  description: ISO-8601 value for start of the export range.
18798
19401
  example: '2022-07-02T18:09:06.996Z'
19402
+ format: date-time
18799
19403
  range_end:
18800
19404
  type: string
18801
19405
  description: ISO-8601 value for end of the export range.
18802
19406
  example: '2022-09-02T18:09:06.996Z'
19407
+ format: date-time
18803
19408
  actions:
18804
19409
  description: List of actions to filter against.
18805
19410
  example:
@@ -19701,50 +20306,332 @@ components:
19701
20306
  allow_profiles_outside_organization:
19702
20307
  type: boolean
19703
20308
  description: >-
19704
- Whether the organization allows profiles from outside the
19705
- organization to sign in.
19706
- example: false
19707
- 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
19708
20613
  description: >-
19709
- The domains associated with the organization. Deprecated in favor of
19710
- `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.
19711
20620
  example:
19712
- - foo-corp.com
19713
- deprecated: true
20621
+ - repo
20622
+ - user:email
19714
20623
  type: array
19715
20624
  items:
19716
20625
  type: string
19717
- domain_data:
19718
- description: >-
19719
- The domains associated with the organization, including verification
19720
- state.
19721
- type: array
19722
- items:
19723
- $ref: '#/components/schemas/OrganizationDomainDataDto'
19724
- stripe_customer_id:
20626
+ state:
19725
20627
  type: string
19726
- description: The Stripe customer ID associated with the organization.
19727
- example: cus_R9qWAGMQ6nGE7V
19728
- metadata:
19729
- type:
19730
- - object
19731
- - 'null'
19732
- additionalProperties: *ref_7
19733
- maxProperties: 50
19734
- example: *ref_8
20628
+ enum:
20629
+ - connected
20630
+ - needs_reauthorization
19735
20631
  description: >-
19736
- Object containing [metadata](/authkit/metadata) key/value pairs
19737
- associated with the Organization.
19738
- propertyNames:
19739
- maxLength: 40
19740
- external_id:
19741
- type:
19742
- - string
19743
- - 'null'
19744
- maxLength: 128
19745
- pattern: ^[\x00-\x7F]+$
19746
- example: 2fe01467-f7ea-4dd2-8b79-c2b4f56d0191
19747
- 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
19748
20635
  GenerateLinkDto:
19749
20636
  type: object
19750
20637
  properties:
@@ -19802,6 +20689,35 @@ components:
19802
20689
  type: array
19803
20690
  required:
19804
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
19805
20721
  CreateRedirectUriDto:
19806
20722
  type: object
19807
20723
  properties:
@@ -19852,6 +20768,26 @@ components:
19852
20768
  type: string
19853
20769
  description: The invitation token to associate with this magic code.
19854
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
19855
20791
  required:
19856
20792
  - email
19857
20793
  CreateUserlandUserInviteOptionsDto:
@@ -20154,9 +21090,9 @@ components:
20154
21090
  x-exclude-from-lint: true
20155
21091
  required:
20156
21092
  - role_slug
20157
- x-mutually-exclusive-body-groups: *ref_9
20158
- UpdateUserlandUserOrganizationMembershipDto:
20159
21093
  x-mutually-exclusive-body-groups: *ref_10
21094
+ UpdateUserlandUserOrganizationMembershipDto:
21095
+ x-mutually-exclusive-body-groups: *ref_11
20160
21096
  oneOf:
20161
21097
  - type: object
20162
21098
  not:
@@ -20280,7 +21216,7 @@ components:
20280
21216
  - 'null'
20281
21217
  additionalProperties: *ref_7
20282
21218
  maxProperties: 50
20283
- example: &ref_12
21219
+ example: &ref_13
20284
21220
  timezone: America/New_York
20285
21221
  description: >-
20286
21222
  Object containing metadata key/value pairs associated with the
@@ -20295,6 +21231,24 @@ components:
20295
21231
  pattern: ^[\x00-\x7F]+$
20296
21232
  description: The external ID of the user.
20297
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
20298
21252
  required:
20299
21253
  - email
20300
21254
  - oneOf:
@@ -20350,7 +21304,7 @@ components:
20350
21304
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20351
21305
  password_hash_type:
20352
21306
  type: string
20353
- enum: &ref_13
21307
+ enum: &ref_14
20354
21308
  - bcrypt
20355
21309
  - firebase-scrypt
20356
21310
  - ssha
@@ -20372,7 +21326,7 @@ components:
20372
21326
  x-exclude-from-lint: true
20373
21327
  required:
20374
21328
  - password
20375
- x-mutually-exclusive-body-groups: *ref_11
21329
+ x-mutually-exclusive-body-groups: *ref_12
20376
21330
  UpdateUserlandUserDto:
20377
21331
  allOf:
20378
21332
  - type: object
@@ -20404,7 +21358,7 @@ components:
20404
21358
  - 'null'
20405
21359
  additionalProperties: *ref_7
20406
21360
  maxProperties: 50
20407
- example: *ref_12
21361
+ example: *ref_13
20408
21362
  description: >-
20409
21363
  Object containing metadata key/value pairs associated with the
20410
21364
  user.
@@ -20475,7 +21429,7 @@ components:
20475
21429
  example: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
20476
21430
  password_hash_type:
20477
21431
  type: string
20478
- enum: *ref_13
21432
+ enum: *ref_14
20479
21433
  description: >-
20480
21434
  The algorithm originally used to hash the password, used
20481
21435
  when providing a `password_hash`. Required with
@@ -20491,7 +21445,7 @@ components:
20491
21445
  x-exclude-from-lint: true
20492
21446
  required:
20493
21447
  - password
20494
- x-mutually-exclusive-body-groups: *ref_14
21448
+ x-mutually-exclusive-body-groups: *ref_15
20495
21449
  VerifyEmailAddressDto:
20496
21450
  type: object
20497
21451
  properties:
@@ -20566,7 +21520,7 @@ components:
20566
21520
  description: The events that the Webhook Endpoint is subscribed to.
20567
21521
  items:
20568
21522
  type: string
20569
- enum: &ref_15
21523
+ enum: &ref_16
20570
21524
  - agent.registration.created
20571
21525
  - agent.registration.claim.attempt.created
20572
21526
  - agent.registration.claim.completed
@@ -20680,7 +21634,7 @@ components:
20680
21634
  description: The events that the Webhook Endpoint is subscribed to.
20681
21635
  items:
20682
21636
  type: string
20683
- enum: *ref_15
21637
+ enum: *ref_16
20684
21638
  example:
20685
21639
  - user.created
20686
21640
  - dsync.user.created
@@ -23877,7 +24831,7 @@ components:
23877
24831
  description: >-
23878
24832
  An object containing the custom attribute mapping for the Directory
23879
24833
  Provider.
23880
- example: &ref_18
24834
+ example: &ref_19
23881
24835
  department: Engineering
23882
24836
  job_title: Software Engineer
23883
24837
  role:
@@ -24055,7 +25009,7 @@ components:
24055
25009
  type: object
24056
25010
  additionalProperties: {}
24057
25011
  description: The event payload.
24058
- example: &ref_16
25012
+ example: &ref_17
24059
25013
  id: directory_user_01E1JG7J09H96KYP8HM9B0G5SJ
24060
25014
  directory_id: directory_01ECAZ4NV9QMV47GW873HDCX74
24061
25015
  organization_id: org_01EZTR6WYX1A0DSE2CYMGXQ24Y
@@ -24090,11 +25044,11 @@ components:
24090
25044
  - data
24091
25045
  - created_at
24092
25046
  description: An event emitted by WorkOS.
24093
- example: &ref_23
25047
+ example: &ref_24
24094
25048
  object: event
24095
25049
  id: event_01EHZNVPK3SFK441A1RGBFSHRT
24096
25050
  event: dsync.user.created
24097
- data: *ref_16
25051
+ data: *ref_17
24098
25052
  created_at: '2021-06-25T19:07:33.155Z'
24099
25053
  context: {}
24100
25054
  - oneOf:
@@ -24764,7 +25718,7 @@ components:
24764
25718
  items:
24765
25719
  type: string
24766
25720
  description: The permissions granted to the API key.
24767
- example: &ref_17
25721
+ example: &ref_18
24768
25722
  - users:read
24769
25723
  - users:write
24770
25724
  created_at:
@@ -24890,7 +25844,7 @@ components:
24890
25844
  items:
24891
25845
  type: string
24892
25846
  description: The permissions granted to the API key.
24893
- example: *ref_17
25847
+ example: *ref_18
24894
25848
  created_at:
24895
25849
  type: string
24896
25850
  description: The timestamp when the API key was created.
@@ -25014,7 +25968,7 @@ components:
25014
25968
  items:
25015
25969
  type: string
25016
25970
  description: The permissions granted to the API key.
25017
- example: *ref_17
25971
+ example: *ref_18
25018
25972
  created_at:
25019
25973
  type: string
25020
25974
  description: The timestamp when the API key was created.
@@ -27876,7 +28830,7 @@ components:
27876
28830
  description: >-
27877
28831
  An object containing the custom attribute mapping for
27878
28832
  the Directory Provider.
27879
- example: *ref_18
28833
+ example: *ref_19
27880
28834
  role:
27881
28835
  $ref: '#/components/schemas/SlimRole'
27882
28836
  roles:
@@ -28066,7 +29020,7 @@ components:
28066
29020
  description: >-
28067
29021
  Labels assigned to the Feature Flag for categorizing and
28068
29022
  filtering.
28069
- example: &ref_19
29023
+ example: &ref_20
28070
29024
  - reports
28071
29025
  enabled:
28072
29026
  type: boolean
@@ -28227,7 +29181,7 @@ components:
28227
29181
  description: >-
28228
29182
  Labels assigned to the Feature Flag for categorizing and
28229
29183
  filtering.
28230
- example: *ref_19
29184
+ example: *ref_20
28231
29185
  enabled:
28232
29186
  type: boolean
28233
29187
  description: >-
@@ -28387,7 +29341,7 @@ components:
28387
29341
  description: >-
28388
29342
  Labels assigned to the Feature Flag for categorizing and
28389
29343
  filtering.
28390
- example: *ref_19
29344
+ example: *ref_20
28391
29345
  enabled:
28392
29346
  type: boolean
28393
29347
  description: >-
@@ -28667,7 +29621,7 @@ components:
28667
29621
  description: >-
28668
29622
  Labels assigned to the Feature Flag for categorizing and
28669
29623
  filtering.
28670
- example: *ref_19
29624
+ example: *ref_20
28671
29625
  enabled:
28672
29626
  type: boolean
28673
29627
  description: >-
@@ -29655,7 +30609,7 @@ components:
29655
30609
  description: >-
29656
30610
  Object containing [metadata](/authkit/metadata)
29657
30611
  key/value pairs associated with the Organization.
29658
- example: &ref_20
30612
+ example: &ref_21
29659
30613
  tier: diamond
29660
30614
  propertyNames:
29661
30615
  maxLength: 40
@@ -29805,7 +30759,7 @@ components:
29805
30759
  description: >-
29806
30760
  Object containing [metadata](/authkit/metadata)
29807
30761
  key/value pairs associated with the Organization.
29808
- example: *ref_20
30762
+ example: *ref_21
29809
30763
  propertyNames:
29810
30764
  maxLength: 40
29811
30765
  maxProperties: 50
@@ -30632,7 +31586,7 @@ components:
30632
31586
  items:
30633
31587
  type: string
30634
31588
  description: The permissions granted by the role.
30635
- example: &ref_21
31589
+ example: &ref_22
30636
31590
  - users:read
30637
31591
  - users:write
30638
31592
  created_at:
@@ -30716,7 +31670,7 @@ components:
30716
31670
  items:
30717
31671
  type: string
30718
31672
  description: The permissions granted by the role.
30719
- example: *ref_21
31673
+ example: *ref_22
30720
31674
  created_at:
30721
31675
  format: date-time
30722
31676
  type: string
@@ -30798,7 +31752,7 @@ components:
30798
31752
  items:
30799
31753
  type: string
30800
31754
  description: The permissions granted by the role.
30801
- example: *ref_21
31755
+ example: *ref_22
30802
31756
  created_at:
30803
31757
  format: date-time
30804
31758
  type: string
@@ -30935,7 +31889,7 @@ components:
30935
31889
  description: >-
30936
31890
  Object containing [metadata](/authkit/metadata)
30937
31891
  key/value pairs associated with the Organization.
30938
- example: *ref_20
31892
+ example: *ref_21
30939
31893
  propertyNames:
30940
31894
  maxLength: 40
30941
31895
  maxProperties: 50
@@ -31566,7 +32520,7 @@ components:
31566
32520
  items:
31567
32521
  type: string
31568
32522
  description: The permissions granted by the role.
31569
- example: &ref_22
32523
+ example: &ref_23
31570
32524
  - users:read
31571
32525
  - users:write
31572
32526
  created_at:
@@ -31632,7 +32586,7 @@ components:
31632
32586
  items:
31633
32587
  type: string
31634
32588
  description: The permissions granted by the role.
31635
- example: *ref_22
32589
+ example: *ref_23
31636
32590
  created_at:
31637
32591
  format: date-time
31638
32592
  type: string
@@ -31696,7 +32650,7 @@ components:
31696
32650
  items:
31697
32651
  type: string
31698
32652
  description: The permissions granted by the role.
31699
- example: *ref_22
32653
+ example: *ref_23
31700
32654
  created_at:
31701
32655
  format: date-time
31702
32656
  type: string
@@ -32779,7 +33733,7 @@ components:
32779
33733
  - data
32780
33734
  - created_at
32781
33735
  - object
32782
- example: *ref_23
33736
+ example: *ref_24
32783
33737
  description: An event emitted by WorkOS.
32784
33738
  EventList:
32785
33739
  type: object
@@ -32814,7 +33768,7 @@ components:
32814
33768
  example:
32815
33769
  object: list
32816
33770
  data:
32817
- - *ref_23
33771
+ - *ref_24
32818
33772
  list_metadata:
32819
33773
  after: event_01EHZNVPK3SFK441A1RGBFSHRT
32820
33774
  JwtTemplate:
@@ -33656,6 +34610,245 @@ components:
33656
34610
  The OAuth client secret of the organization's own application. Must
33657
34611
  be provided together with `client_id`.
33658
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
33659
34852
  DataIntegrationAuthorizeUrlResponse:
33660
34853
  type: object
33661
34854
  properties:
@@ -34230,6 +35423,22 @@ components:
34230
35423
  https://setup.workos.com?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
34231
35424
  required:
34232
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
34233
35442
  RadarStandaloneResponse:
34234
35443
  type: object
34235
35444
  properties: