workos 9.1.0 → 9.2.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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +42 -83
  3. data/.last-synced-sha +1 -1
  4. data/.oagen-manifest.json +74 -3
  5. data/.release-please-manifest.json +1 -1
  6. data/CHANGELOG.md +56 -0
  7. data/Gemfile.lock +2 -2
  8. data/lib/workos/authorization/create_group_role_assignment.rb +7 -0
  9. data/lib/workos/authorization/delete_group_role_assignments_by_criteria.rb +7 -0
  10. data/lib/workos/authorization/group_role_assignment.rb +37 -0
  11. data/lib/workos/authorization/group_role_assignment_list.rb +25 -0
  12. data/lib/workos/authorization/group_role_assignment_resource.rb +25 -0
  13. data/lib/workos/authorization/replace_group_role_assignment_entry.rb +7 -0
  14. data/lib/workos/authorization/replace_group_role_assignments.rb +18 -0
  15. data/lib/workos/authorization/user_role_assignment_resource.rb +1 -19
  16. data/lib/workos/authorization.rb +180 -0
  17. data/lib/workos/client.rb +8 -0
  18. data/lib/workos/client_api/client_api_token.rb +22 -0
  19. data/lib/workos/client_api/client_api_token_response.rb +18 -0
  20. data/lib/workos/client_api.rb +39 -0
  21. data/lib/workos/pipes/connected_account.rb +6 -0
  22. data/lib/workos/pipes/data_integrations_list_response_data.rb +3 -0
  23. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
  24. data/lib/workos/pipes.rb +5 -5
  25. data/lib/workos/pipes_provider/configure_data_integration_body.rb +28 -0
  26. data/lib/workos/pipes_provider/data_integration_configuration_list_response.rb +22 -0
  27. data/lib/workos/pipes_provider/data_integration_configuration_response.rb +46 -0
  28. data/lib/workos/pipes_provider/data_integration_credentials.rb +31 -0
  29. data/lib/workos/pipes_provider.rb +68 -0
  30. data/lib/workos/types/connected_account_auth_method.rb +13 -0
  31. data/lib/workos/types/data_integration_access_token_response_error.rb +2 -2
  32. data/lib/workos/types/data_integration_credentials_credentials_type.rb +14 -0
  33. data/lib/workos/types/data_integrations_list_response_data_auth_methods.rb +9 -0
  34. data/lib/workos/types/data_integrations_list_response_data_connected_account_auth_method.rb +9 -0
  35. data/lib/workos/types/widget_session_token_scopes.rb +2 -1
  36. data/lib/workos/user_management.rb +1 -1
  37. data/lib/workos/version.rb +1 -1
  38. data/lib/workos/widgets/widget_session_token_response.rb +1 -12
  39. data/lib/workos.rb +2 -0
  40. data/rbi/workos/authorization.rbi +63 -0
  41. data/rbi/workos/authorization_code_session_authenticate_request.rbi +2 -2
  42. data/rbi/workos/client.rbi +6 -0
  43. data/rbi/workos/client_api.rbi +22 -0
  44. data/rbi/workos/client_api_token.rbi +30 -0
  45. data/rbi/workos/client_api_token_response.rbi +24 -0
  46. data/rbi/workos/configure_data_integration_body.rbi +42 -0
  47. data/rbi/workos/connected_account.rbi +12 -0
  48. data/rbi/workos/create_group_role_assignment.rbi +42 -0
  49. data/rbi/workos/data_integration_configuration_list_response.rbi +30 -0
  50. data/rbi/workos/data_integration_configuration_response.rbi +78 -0
  51. data/rbi/workos/data_integration_credentials.rbi +48 -0
  52. data/rbi/workos/data_integrations_list_response_data.rbi +6 -0
  53. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
  54. data/rbi/workos/delete_group_role_assignments_by_criteria.rbi +42 -0
  55. data/rbi/workos/group_role_assignment.rbi +60 -0
  56. data/rbi/workos/group_role_assignment_resource.rbi +36 -0
  57. data/rbi/workos/organization_membership_service.rbi +1 -1
  58. data/rbi/workos/pipes.rbi +2 -2
  59. data/rbi/workos/pipes_provider.rbi +34 -0
  60. data/rbi/workos/refresh_token_session_authenticate_request.rbi +2 -2
  61. data/rbi/workos/replace_group_role_assignment_entry.rbi +42 -0
  62. data/rbi/workos/replace_group_role_assignments.rbi +24 -0
  63. data/rbi/workos/user_management.rbi +3 -3
  64. data/test/workos/test_authorization.rb +48 -0
  65. data/test/workos/test_client_api.rb +33 -0
  66. data/test/workos/test_model_round_trip.rb +196 -14
  67. data/test/workos/test_pipes.rb +3 -3
  68. data/test/workos/test_pipes_provider.rb +41 -0
  69. data/test/workos/test_user_management.rb +2 -2
  70. metadata +36 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d5bf8d039e74032934018104dfea6d320879461dba4c31f31bbf598b2f31eda6
4
- data.tar.gz: 3d3fcf304a78be2a804cab6965e31560296f1d21c2c3e66cc5f106651e759baf
3
+ metadata.gz: 9b74d5a5f47e335f1459829bde13242bdcaaf71abc8cbae6fd2566e6d7fe509d
4
+ data.tar.gz: 292c0b0b904b4717e390daf15f581fc66bd20952e27dde0e34b263d041763446
5
5
  SHA512:
6
- metadata.gz: 688d93035a70deb0779be44d0185e44cf7fd53ad5e5143157f5c29321d84d88f04bc696d6a65a2b050d86eec6a9cdea807418ae2360936b046648a1e8e77854c
7
- data.tar.gz: 28e078a1307dc71956d840ec6925946aaca7b70ea7cf60b8cbb16caee9db25afbc11c28863155a82c92f62e81fb4c5937490237af4859ce7dd1f2b5012fce8a4
6
+ metadata.gz: 93251d0f6167e4b4c84565d9ae73e533421129ecdacd6bae6a99110ae1e3f574be387487f831433144e102f3b9f9c2c5711ed6029df0961ab88e599944d3d8f5
7
+ data.tar.gz: 15fe047716b898b934652ecfc1b8e35e26de2785076f4cd24df210c1f17cccdb0e340ed88270fe2a2b59d0826fdfd222bb591cba46c538abd7c4f1e832a4128e
@@ -14,12 +14,20 @@ permissions:
14
14
  pull-requests: write
15
15
 
16
16
  jobs:
17
+ # release-please owns tag + GitHub Release creation (no
18
+ # skip-github-release). Because it tags every release inside its own run
19
+ # — before it computes the next release PR — it always knows the previous
20
+ # release boundary, so it never regenerates the changelog from the start
21
+ # of history or proposes a spurious major bump. Creating the release with
22
+ # the app token also fires the `release: published` event that release.yml
23
+ # uses to publish to RubyGems. This job is kept minimal so nothing
24
+ # downstream (changelog enrichment, release notes) can fail it.
17
25
  release-please:
18
- needs: publish-release
19
- if: needs.publish-release.outputs.is-release != 'true'
20
26
  runs-on: ubuntu-latest
21
27
  outputs:
22
28
  pr: ${{ steps.release.outputs.pr }}
29
+ release_created: ${{ steps.release.outputs.release_created }}
30
+ tag_name: ${{ steps.release.outputs.tag_name }}
23
31
  steps:
24
32
  - name: Generate token
25
33
  id: generate-token
@@ -28,22 +36,30 @@ jobs:
28
36
  app-id: ${{ vars.SDK_BOT_APP_ID }}
29
37
  private-key: ${{ secrets.SDK_BOT_PRIVATE_KEY }}
30
38
 
31
- # skip-github-release means release-please opens/updates release
32
- # PRs and updates CHANGELOG.md as usual, but does NOT tag or create
33
- # the GitHub Release on merge. Those are owned by publish-release
34
- # below so we can set the Release body from the rich CHANGELOG.md
35
- # section instead of release-please's terse default rendering.
36
39
  - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
37
40
  id: release
38
41
  with:
39
42
  token: ${{ steps.generate-token.outputs.token }}
40
- skip-github-release: true
43
+
44
+ # While the release PR is open, enrich it before it merges. Runs as its
45
+ # own job (gated on the PR existing) so a failure here can never block the
46
+ # release or any publish that depends on release-please.
47
+ enrich-release-pr:
48
+ needs: release-please
49
+ if: needs.release-please.outputs.pr
50
+ runs-on: ubuntu-latest
51
+ steps:
52
+ - name: Generate token
53
+ id: generate-token
54
+ uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # 3.2.0
55
+ with:
56
+ app-id: ${{ vars.SDK_BOT_APP_ID }}
57
+ private-key: ${{ secrets.SDK_BOT_PRIVATE_KEY }}
41
58
 
42
59
  - name: Checkout release PR branch
43
- if: steps.release.outputs.pr
44
60
  uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 6.0.3
45
61
  with:
46
- ref: ${{ fromJSON(steps.release.outputs.pr).headBranchName }}
62
+ ref: ${{ fromJSON(needs.release-please.outputs.pr).headBranchName }}
47
63
  token: ${{ steps.generate-token.outputs.token }}
48
64
 
49
65
  # Inline pending changelog fragments under the version heading
@@ -54,9 +70,8 @@ jobs:
54
70
  # release-please wrote. Fragments are deleted in the same commit.
55
71
  # Idempotent: if no fragments exist, skip silently.
56
72
  - name: Inline rich changelog fragments
57
- if: steps.release.outputs.pr
58
73
  env:
59
- PR_JSON: ${{ steps.release.outputs.pr }}
74
+ PR_JSON: ${{ needs.release-please.outputs.pr }}
60
75
  run: |
61
76
  set -euo pipefail
62
77
  shopt -s nullglob
@@ -136,13 +151,11 @@ jobs:
136
151
  git push
137
152
 
138
153
  - name: Set up Ruby
139
- if: steps.release.outputs.pr
140
154
  uses: ruby/setup-ruby@12fd324f1d0b43274fdc8130f6980590a667c455 # 1.312.0
141
155
  with:
142
156
  ruby-version: ruby
143
157
 
144
158
  - name: Bundle install and commit
145
- if: steps.release.outputs.pr
146
159
  run: |
147
160
  bundle install
148
161
  if git diff --quiet Gemfile.lock; then
@@ -155,18 +168,14 @@ jobs:
155
168
  git push
156
169
  fi
157
170
 
158
- # Detect when a release-please release PR has merged, then tag and
159
- # create the GitHub Release whose body is extracted from CHANGELOG.md
160
- # (now rich, after the inline step above). Runs on every push to main;
161
- # the detect step gates everything else.
162
- publish-release:
171
+ # After release-please tags the release and creates the GitHub Release,
172
+ # replace its body with the rich section from CHANGELOG.md (release-please
173
+ # writes only its terse default rendering). Cosmetic-only: never fails the
174
+ # release if the section can't be found.
175
+ update-release-notes:
176
+ needs: release-please
177
+ if: needs.release-please.outputs.release_created == 'true'
163
178
  runs-on: ubuntu-latest
164
- permissions:
165
- contents: write
166
- pull-requests: write
167
- outputs:
168
- is-release: ${{ steps.detect.outputs.is-release }}
169
- version: ${{ steps.detect.outputs.version }}
170
179
  steps:
171
180
  - name: Generate token
172
181
  id: generate-token
@@ -177,72 +186,22 @@ jobs:
177
186
 
178
187
  - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 6.0.3
179
188
  with:
180
- fetch-depth: 0
181
189
  token: ${{ steps.generate-token.outputs.token }}
182
190
 
183
- - name: Detect release PR merge
184
- id: detect
185
- run: |
186
- set -euo pipefail
187
- SUBJECT=$(git log -1 --format=%s)
188
- # release-please's default release PR title:
189
- # chore(main): release X.Y.Z
190
- if [[ "$SUBJECT" =~ ^chore\(.*\):[[:space:]]release[[:space:]]([0-9]+\.[0-9]+\.[0-9]+) ]]; then
191
- VERSION="${BASH_REMATCH[1]}"
192
- echo "is-release=true" >> "$GITHUB_OUTPUT"
193
- echo "version=$VERSION" >> "$GITHUB_OUTPUT"
194
- if [[ "$SUBJECT" =~ \#([0-9]+) ]]; then
195
- echo "pr-number=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
196
- fi
197
- echo "Detected release PR merge for v$VERSION"
198
- else
199
- echo "Not a release PR merge: $SUBJECT"
200
- echo "is-release=false" >> "$GITHUB_OUTPUT"
201
- fi
202
-
203
- - name: Extract release notes from CHANGELOG.md
204
- if: steps.detect.outputs.is-release == 'true'
191
+ - name: Set rich release notes from CHANGELOG.md
205
192
  env:
206
- VERSION: ${{ steps.detect.outputs.version }}
193
+ GH_TOKEN: ${{ steps.generate-token.outputs.token }}
194
+ TAG: ${{ needs.release-please.outputs.tag_name }}
207
195
  run: |
208
196
  set -euo pipefail
197
+ VERSION="${TAG#v}"
209
198
  awk -v v="$VERSION" '
210
199
  $0 ~ ("^## \\[" v "\\]") { found=1; next }
211
200
  found && /^## \[/ { exit }
212
201
  found
213
202
  ' CHANGELOG.md > /tmp/release-notes.md
214
- if [ ! -s /tmp/release-notes.md ]; then
215
- echo "::error::CHANGELOG.md has no body for v$VERSION"
216
- exit 1
217
- fi
218
-
219
- - name: Tag and create GitHub Release
220
- if: steps.detect.outputs.is-release == 'true'
221
- env:
222
- GH_TOKEN: ${{ steps.generate-token.outputs.token }}
223
- VERSION: ${{ steps.detect.outputs.version }}
224
- run: |
225
- set -euo pipefail
226
- TAG="v$VERSION"
227
- if gh release view "$TAG" >/dev/null 2>&1; then
228
- echo "Release $TAG already exists; skipping."
229
- exit 0
203
+ if [ -s /tmp/release-notes.md ]; then
204
+ gh release edit "$TAG" --notes-file /tmp/release-notes.md
205
+ else
206
+ echo "No CHANGELOG.md body for $TAG; keeping release-please default notes."
230
207
  fi
231
- git config user.name "workos-sdk-automation[bot]"
232
- git config user.email "255426317+workos-sdk-automation[bot]@users.noreply.github.com"
233
- git tag -a "$TAG" -m "Release $TAG"
234
- git push origin "$TAG"
235
- gh release create "$TAG" \
236
- --title "$TAG" \
237
- --notes-file /tmp/release-notes.md
238
-
239
- - name: Mark release PR as tagged
240
- if: steps.detect.outputs.is-release == 'true' && steps.detect.outputs['pr-number']
241
- env:
242
- GH_TOKEN: ${{ steps.generate-token.outputs.token }}
243
- PR_NUMBER: ${{ steps.detect.outputs['pr-number'] }}
244
- run: |
245
- set -euo pipefail
246
- gh pr edit "$PR_NUMBER" \
247
- --remove-label "autorelease: pending" \
248
- --add-label "autorelease: tagged"
data/.last-synced-sha CHANGED
@@ -1 +1 @@
1
- d8c5a7de598792b1cee18d4a9842825110e5c74a
1
+ b6a68da8bd60c1478e0a86ca97c75448677e8871
data/.oagen-manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 2,
3
3
  "language": "ruby",
4
- "generatedAt": "2026-06-03T19:20:02.984Z",
4
+ "generatedAt": "2026-06-17T21:06:29.872Z",
5
5
  "files": [
6
6
  "lib/workos.rb",
7
7
  "lib/workos/admin_portal.rb",
@@ -56,8 +56,13 @@
56
56
  "lib/workos/authorization/check_authorization.rb",
57
57
  "lib/workos/authorization/create_authorization_permission.rb",
58
58
  "lib/workos/authorization/create_authorization_resource.rb",
59
+ "lib/workos/authorization/create_group_role_assignment.rb",
59
60
  "lib/workos/authorization/create_organization_role.rb",
60
61
  "lib/workos/authorization/create_role.rb",
62
+ "lib/workos/authorization/delete_group_role_assignments_by_criteria.rb",
63
+ "lib/workos/authorization/group_role_assignment.rb",
64
+ "lib/workos/authorization/group_role_assignment_list.rb",
65
+ "lib/workos/authorization/group_role_assignment_resource.rb",
61
66
  "lib/workos/authorization/permission.rb",
62
67
  "lib/workos/authorization/permission_created.rb",
63
68
  "lib/workos/authorization/permission_created_data.rb",
@@ -66,6 +71,8 @@
66
71
  "lib/workos/authorization/permission_updated.rb",
67
72
  "lib/workos/authorization/permission_updated_data.rb",
68
73
  "lib/workos/authorization/remove_role.rb",
74
+ "lib/workos/authorization/replace_group_role_assignment_entry.rb",
75
+ "lib/workos/authorization/replace_group_role_assignments.rb",
69
76
  "lib/workos/authorization/role.rb",
70
77
  "lib/workos/authorization/role_created.rb",
71
78
  "lib/workos/authorization/role_created_data.rb",
@@ -83,6 +90,9 @@
83
90
  "lib/workos/authorization/user_role_assignment.rb",
84
91
  "lib/workos/authorization/user_role_assignment_resource.rb",
85
92
  "lib/workos/client.rb",
93
+ "lib/workos/client_api.rb",
94
+ "lib/workos/client_api/client_api_token.rb",
95
+ "lib/workos/client_api/client_api_token_response.rb",
86
96
  "lib/workos/connect.rb",
87
97
  "lib/workos/connect/application_credentials_list_item.rb",
88
98
  "lib/workos/connect/connect_application.rb",
@@ -249,6 +259,11 @@
249
259
  "lib/workos/pipes/data_integrations_list_response.rb",
250
260
  "lib/workos/pipes/data_integrations_list_response_data.rb",
251
261
  "lib/workos/pipes/data_integrations_list_response_data_connected_account.rb",
262
+ "lib/workos/pipes_provider.rb",
263
+ "lib/workos/pipes_provider/configure_data_integration_body.rb",
264
+ "lib/workos/pipes_provider/data_integration_configuration_list_response.rb",
265
+ "lib/workos/pipes_provider/data_integration_configuration_response.rb",
266
+ "lib/workos/pipes_provider/data_integration_credentials.rb",
252
267
  "lib/workos/radar.rb",
253
268
  "lib/workos/radar/radar_list_entry_already_present_response.rb",
254
269
  "lib/workos/radar/radar_standalone_assess_request.rb",
@@ -315,6 +330,7 @@
315
330
  "lib/workos/types/authentication_factors_create_request_type.rb",
316
331
  "lib/workos/types/authentication_radar_risk_detected_data_action.rb",
317
332
  "lib/workos/types/authorization_assignment.rb",
333
+ "lib/workos/types/connected_account_auth_method.rb",
318
334
  "lib/workos/types/connected_account_state.rb",
319
335
  "lib/workos/types/connection_activated_data_connection_type.rb",
320
336
  "lib/workos/types/connection_activated_data_state.rb",
@@ -334,6 +350,9 @@
334
350
  "lib/workos/types/create_user_password_hash_type.rb",
335
351
  "lib/workos/types/create_webhook_endpoint_events.rb",
336
352
  "lib/workos/types/data_integration_access_token_response_error.rb",
353
+ "lib/workos/types/data_integration_credentials_credentials_type.rb",
354
+ "lib/workos/types/data_integrations_list_response_data_auth_methods.rb",
355
+ "lib/workos/types/data_integrations_list_response_data_connected_account_auth_method.rb",
337
356
  "lib/workos/types/data_integrations_list_response_data_connected_account_state.rb",
338
357
  "lib/workos/types/data_integrations_list_response_data_ownership.rb",
339
358
  "lib/workos/types/directory_state.rb",
@@ -714,6 +733,10 @@
714
733
  "rbi/workos/challenge_authentication_factor.rbi",
715
734
  "rbi/workos/check_authorization.rbi",
716
735
  "rbi/workos/client.rbi",
736
+ "rbi/workos/client_api.rbi",
737
+ "rbi/workos/client_api_token.rbi",
738
+ "rbi/workos/client_api_token_response.rbi",
739
+ "rbi/workos/configure_data_integration_body.rbi",
717
740
  "rbi/workos/confirm_email_change.rbi",
718
741
  "rbi/workos/connect.rbi",
719
742
  "rbi/workos/connect_application.rbi",
@@ -749,6 +772,7 @@
749
772
  "rbi/workos/create_data_key_response.rbi",
750
773
  "rbi/workos/create_group.rbi",
751
774
  "rbi/workos/create_group_membership.rbi",
775
+ "rbi/workos/create_group_role_assignment.rbi",
752
776
  "rbi/workos/create_m2m_application.rbi",
753
777
  "rbi/workos/create_magic_code_and_return.rbi",
754
778
  "rbi/workos/create_oauth_application.rbi",
@@ -768,6 +792,9 @@
768
792
  "rbi/workos/data_integration_access_token_response.rbi",
769
793
  "rbi/workos/data_integration_access_token_response_access_token.rbi",
770
794
  "rbi/workos/data_integration_authorize_url_response.rbi",
795
+ "rbi/workos/data_integration_configuration_list_response.rbi",
796
+ "rbi/workos/data_integration_configuration_response.rbi",
797
+ "rbi/workos/data_integration_credentials.rbi",
771
798
  "rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi",
772
799
  "rbi/workos/data_integrations_get_user_token_request.rbi",
773
800
  "rbi/workos/data_integrations_list_response.rbi",
@@ -775,6 +802,7 @@
775
802
  "rbi/workos/data_integrations_list_response_data_connected_account.rbi",
776
803
  "rbi/workos/decrypt_request.rbi",
777
804
  "rbi/workos/decrypt_response.rbi",
805
+ "rbi/workos/delete_group_role_assignments_by_criteria.rbi",
778
806
  "rbi/workos/delete_object_response.rbi",
779
807
  "rbi/workos/device_authorization_response.rbi",
780
808
  "rbi/workos/device_code_session_authenticate_request.rbi",
@@ -871,6 +899,8 @@
871
899
  "rbi/workos/group_member_added_data.rbi",
872
900
  "rbi/workos/group_member_removed.rbi",
873
901
  "rbi/workos/group_member_removed_data.rbi",
902
+ "rbi/workos/group_role_assignment.rbi",
903
+ "rbi/workos/group_role_assignment_resource.rbi",
874
904
  "rbi/workos/group_updated.rbi",
875
905
  "rbi/workos/groups.rbi",
876
906
  "rbi/workos/intent_options.rbi",
@@ -961,6 +991,7 @@
961
991
  "rbi/workos/pipes_connected_account_connected.rbi",
962
992
  "rbi/workos/pipes_connected_account_disconnected.rbi",
963
993
  "rbi/workos/pipes_connected_account_reauthorization_needed.rbi",
994
+ "rbi/workos/pipes_provider.rbi",
964
995
  "rbi/workos/portal_link_response.rbi",
965
996
  "rbi/workos/profile.rbi",
966
997
  "rbi/workos/radar.rbi",
@@ -975,6 +1006,8 @@
975
1006
  "rbi/workos/refresh_token_session_authenticate_request.rbi",
976
1007
  "rbi/workos/rekey_request.rbi",
977
1008
  "rbi/workos/remove_role.rbi",
1009
+ "rbi/workos/replace_group_role_assignment_entry.rbi",
1010
+ "rbi/workos/replace_group_role_assignments.rbi",
978
1011
  "rbi/workos/resend_user_invite_options.rbi",
979
1012
  "rbi/workos/reset_password_response.rbi",
980
1013
  "rbi/workos/revoke_session.rbi",
@@ -1083,6 +1116,7 @@
1083
1116
  "test/workos/test_api_keys.rb",
1084
1117
  "test/workos/test_audit_logs.rb",
1085
1118
  "test/workos/test_authorization.rb",
1119
+ "test/workos/test_client_api.rb",
1086
1120
  "test/workos/test_connect.rb",
1087
1121
  "test/workos/test_directory_sync.rb",
1088
1122
  "test/workos/test_events.rb",
@@ -1094,6 +1128,7 @@
1094
1128
  "test/workos/test_organization_membership_service.rb",
1095
1129
  "test/workos/test_organizations.rb",
1096
1130
  "test/workos/test_pipes.rb",
1131
+ "test/workos/test_pipes_provider.rb",
1097
1132
  "test/workos/test_radar.rb",
1098
1133
  "test/workos/test_sso.rb",
1099
1134
  "test/workos/test_user_management.rb",
@@ -1126,6 +1161,30 @@
1126
1161
  "sdkMethod": "complete_oauth2",
1127
1162
  "service": "connect"
1128
1163
  },
1164
+ "GET /authorization/groups/{group_id}/role_assignments": {
1165
+ "sdkMethod": "list_group_role_assignments",
1166
+ "service": "authorization"
1167
+ },
1168
+ "POST /authorization/groups/{group_id}/role_assignments": {
1169
+ "sdkMethod": "create_group_role_assignment",
1170
+ "service": "authorization"
1171
+ },
1172
+ "PUT /authorization/groups/{group_id}/role_assignments": {
1173
+ "sdkMethod": "update_group_role_assignments",
1174
+ "service": "authorization"
1175
+ },
1176
+ "DELETE /authorization/groups/{group_id}/role_assignments": {
1177
+ "sdkMethod": "delete_group_role_assignments",
1178
+ "service": "authorization"
1179
+ },
1180
+ "GET /authorization/groups/{group_id}/role_assignments/{role_assignment_id}": {
1181
+ "sdkMethod": "get_group_role_assignment",
1182
+ "service": "authorization"
1183
+ },
1184
+ "DELETE /authorization/groups/{group_id}/role_assignments/{role_assignment_id}": {
1185
+ "sdkMethod": "delete_group_role_assignment",
1186
+ "service": "authorization"
1187
+ },
1129
1188
  "POST /authorization/organization_memberships/{organization_membership_id}/check": {
1130
1189
  "sdkMethod": "check",
1131
1190
  "service": "authorization"
@@ -1282,6 +1341,10 @@
1282
1341
  "sdkMethod": "delete_permission",
1283
1342
  "service": "authorization"
1284
1343
  },
1344
+ "POST /client/token": {
1345
+ "sdkMethod": "create_token",
1346
+ "service": "client_api"
1347
+ },
1285
1348
  "GET /connect/applications": {
1286
1349
  "sdkMethod": "list_applications",
1287
1350
  "service": "connect"
@@ -1338,8 +1401,8 @@
1338
1401
  "sdkMethod": "authorize_data_integration",
1339
1402
  "service": "pipes"
1340
1403
  },
1341
- "POST /data-integrations/{slug}/token": {
1342
- "sdkMethod": "create_data_integration_token",
1404
+ "POST /data-integrations/{provider}/token": {
1405
+ "sdkMethod": "get_access_token",
1343
1406
  "service": "pipes"
1344
1407
  },
1345
1408
  "GET /directories": {
@@ -1458,6 +1521,14 @@
1458
1521
  "sdkMethod": "create_organization_api_key",
1459
1522
  "service": "api_keys"
1460
1523
  },
1524
+ "GET /organizations/{organizationId}/data_integration_configurations": {
1525
+ "sdkMethod": "list_organization_data_integration_configurations",
1526
+ "service": "pipes_provider"
1527
+ },
1528
+ "PUT /organizations/{organizationId}/data_integration_configurations/{slug}": {
1529
+ "sdkMethod": "update_organization_data_integration_configuration",
1530
+ "service": "pipes_provider"
1531
+ },
1461
1532
  "GET /organizations/{organizationId}/feature-flags": {
1462
1533
  "sdkMethod": "list_organization_feature_flags",
1463
1534
  "service": "feature_flags"
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "9.1.0"
2
+ ".": "9.2.0"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Changelog
2
2
 
3
+ ## [9.2.0](https://github.com/workos/workos-ruby/compare/v9.1.0...v9.2.0) (2026-06-18)
4
+
5
+ - [#501](https://github.com/workos/workos-ruby/pull/501) feat(generated)!: regenerate from spec (12 changes)
6
+
7
+ **Features**
8
+ - **[authorization](https://workos.com/docs/reference/fga)**:
9
+ - Added model `ReplaceGroupRoleAssignmentEntry`
10
+ - Added model `ReplaceGroupRoleAssignments`
11
+ - Added model `DeleteGroupRoleAssignmentsByCriteria`
12
+ - Added endpoint `POST /authorization/groups/{group_id}/role_assignments`
13
+ - Added endpoint `PUT /authorization/groups/{group_id}/role_assignments`
14
+ - Added endpoint `DELETE /authorization/groups/{group_id}/role_assignments`
15
+ - Added endpoint `GET /authorization/groups/{group_id}/role_assignments/{role_assignment_id}`
16
+ - Added endpoint `DELETE /authorization/groups/{group_id}/role_assignments/{role_assignment_id}`
17
+ - **[client](https://workos.com/docs/reference)**:
18
+ - Added model `ClientApiToken`
19
+ - Added model `ClientApiTokenResponse`
20
+ - Added service `Client`
21
+ - **[connect](https://workos.com/docs/reference/workos-connect/standalone)**:
22
+ - Added `auth_method` to `ConnectedAccount`
23
+ - Added `api_key_last_4` to `ConnectedAccount`
24
+ - Added enum `ConnectedAccountAuthMethod`
25
+ - **[groups](https://workos.com/docs/reference/groups)**:
26
+ - Added model `CreateGroupRoleAssignment`
27
+ - Added model `GroupRoleAssignment`
28
+ - Added model `GroupRoleAssignmentList`
29
+ - Added model `GroupRoleAssignmentResource`
30
+ - **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
31
+ - Added model `UserOrganizationMembershipList`
32
+ - Added model `UserOrganizationMembershipListListMetadata`
33
+ - **[pipes](https://workos.com/docs/reference/pipes)**:
34
+ - Added model `DataIntegrationCredentials`
35
+ - Added model `DataIntegrationConfigurationResponse`
36
+ - Added model `DataIntegrationConfigurationListResponse`
37
+ - Added model `ConfigureDataIntegrationBody`
38
+ - Added `auth_methods` to `DataIntegrationsListResponseData`
39
+ - Added `auth_method` to `DataIntegrationsListResponseDataConnectedAccount`
40
+ - Added `api_key_last_4` to `DataIntegrationsListResponseDataConnectedAccount`
41
+ - Added enum `DataIntegrationCredentialsCredentialsType`
42
+ - Added enum `DataIntegrationsListResponseDataAuthMethods`
43
+ - Added enum `DataIntegrationsListResponseDataConnectedAccountAuthMethod`
44
+ - Added service `PipesProvider`
45
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
46
+ - Added model `UserInviteList`
47
+ - Added model `UserInviteListListMetadata`
48
+ - Made `AuthorizationCodeSessionAuthenticateRequest.client_secret` optional
49
+ - Made `RefreshTokenSessionAuthenticateRequest.client_secret` optional
50
+ - **[widgets](https://workos.com/docs/reference/widgets)**:
51
+ - Added `widgets:pipes:manage` to `WidgetSessionTokenScopes`
52
+
53
+ **Fixes**
54
+ - **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
55
+ - Changed response of `UserManagementOrganizationMembership.list` from `UserOrganizationMembership` to `UserOrganizationMembershipList`
56
+ - **[user_management](https://workos.com/docs/reference/authkit/user)**:
57
+ - Changed response of `UserManagementInvitations.list` from `UserInvite` to `UserInviteList`
58
+
3
59
  ## [9.1.0](https://github.com/workos/workos-ruby/compare/v9.0.0...v9.1.0) (2026-06-17)
4
60
 
5
61
  ### Bug Fixes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- workos (9.1.0)
4
+ workos (9.2.0)
5
5
  jwt (~> 3.1)
6
6
  logger (~> 1.7)
7
7
  zeitwerk (~> 2.6)
@@ -153,7 +153,7 @@ CHECKSUMS
153
153
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
154
154
  webmock (3.26.2) sha256=774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90
155
155
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
156
- workos (9.1.0)
156
+ workos (9.2.0)
157
157
  yard (0.9.44) sha256=eb087e9b631ccd887b049f303d489963945452d5e2a7eb49a5a74a7cf6887f28
158
158
  yard-markdown (0.7.1) sha256=06c378632dfe7ba053be9ba469eb4701aa0470e36bcf7e5546f353eb90c1bfd1
159
159
  zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ CreateGroupRoleAssignment = AssignRole
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ DeleteGroupRoleAssignmentsByCriteria = AssignRole
7
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class GroupRoleAssignment < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ group_id: :group_id,
11
+ role: :role,
12
+ resource: :resource,
13
+ created_at: :created_at,
14
+ updated_at: :updated_at
15
+ }.freeze
16
+
17
+ attr_accessor \
18
+ :object,
19
+ :id,
20
+ :group_id,
21
+ :role,
22
+ :resource,
23
+ :created_at,
24
+ :updated_at
25
+
26
+ def initialize(json)
27
+ hash = self.class.normalize(json)
28
+ @object = hash[:object]
29
+ @id = hash[:id]
30
+ @group_id = hash[:group_id]
31
+ @role = hash[:role] ? WorkOS::SlimRole.new(hash[:role]) : nil
32
+ @resource = hash[:resource] ? WorkOS::GroupRoleAssignmentResource.new(hash[:resource]) : nil
33
+ @created_at = hash[:created_at]
34
+ @updated_at = hash[:updated_at]
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class GroupRoleAssignmentList < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ data: :data,
10
+ list_metadata: :list_metadata
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :object,
15
+ :data,
16
+ :list_metadata
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @object = hash[:object]
21
+ @data = (hash[:data] || []).map { |item| item ? WorkOS::GroupRoleAssignment.new(item) : nil }
22
+ @list_metadata = hash[:list_metadata] ? WorkOS::ListMetadata.new(hash[:list_metadata]) : nil
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class GroupRoleAssignmentResource < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ id: :id,
9
+ external_id: :external_id,
10
+ resource_type_slug: :resource_type_slug
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :id,
15
+ :external_id,
16
+ :resource_type_slug
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @id = hash[:id]
21
+ @external_id = hash[:external_id]
22
+ @resource_type_slug = hash[:resource_type_slug]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ ReplaceGroupRoleAssignmentEntry = AssignRole
7
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ReplaceGroupRoleAssignments < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ role_assignments: :role_assignments
9
+ }.freeze
10
+
11
+ attr_accessor :role_assignments
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @role_assignments = (hash[:role_assignments] || []).map { |item| item ? WorkOS::ReplaceGroupRoleAssignmentEntry.new(item) : nil }
16
+ end
17
+ end
18
+ end