workos 7.1.2 → 9.5.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 (582) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +2 -2
  3. data/.github/workflows/docs.yml +49 -0
  4. data/.github/workflows/lint.yml +2 -2
  5. data/.github/workflows/release-please.yml +164 -10
  6. data/.github/workflows/release.yml +2 -2
  7. data/.gitignore +2 -0
  8. data/.last-synced-sha +1 -1
  9. data/.oagen-manifest.json +403 -84
  10. data/.release-please-manifest.json +1 -1
  11. data/.ruby-version +1 -1
  12. data/.yardopts +6 -0
  13. data/CHANGELOG.md +331 -0
  14. data/Gemfile +6 -0
  15. data/Gemfile.lock +35 -4
  16. data/README.md +19 -0
  17. data/docs/V7_MIGRATION_GUIDE.md +21 -0
  18. data/lib/workos/actions.rb +1 -1
  19. data/lib/workos/admin_portal/generate_link.rb +0 -3
  20. data/lib/workos/admin_portal.rb +0 -3
  21. data/lib/workos/api_keys/api_key.rb +4 -1
  22. data/lib/workos/api_keys/api_key_created.rb +5 -5
  23. data/lib/workos/api_keys/api_key_created_data.rb +4 -1
  24. data/lib/workos/api_keys/api_key_revoked.rb +5 -5
  25. data/lib/workos/{audit_logs/audit_log_export_json.rb → api_keys/api_key_updated.rb} +10 -10
  26. data/lib/workos/api_keys/api_key_updated_data.rb +49 -0
  27. data/lib/workos/{directory_sync/dsync_deactivated_data_domain.rb → api_keys/api_key_updated_data_owner.rb} +1 -1
  28. data/lib/workos/api_keys/api_key_updated_data_previous_attribute.rb +18 -0
  29. data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
  30. data/lib/workos/api_keys/expire_api_key.rb +18 -0
  31. data/lib/workos/api_keys/organization_api_key.rb +46 -0
  32. data/lib/workos/{types/events_order.rb → api_keys/organization_api_key_owner.rb} +1 -3
  33. data/lib/workos/api_keys/organization_api_key_with_value.rb +49 -0
  34. data/lib/workos/{types/audit_logs_order.rb → api_keys/organization_api_key_with_value_owner.rb} +1 -3
  35. data/lib/workos/api_keys.rb +75 -47
  36. data/lib/workos/audit_logs/audit_log_action.rb +2 -7
  37. data/lib/workos/audit_logs/audit_log_export.rb +2 -7
  38. data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
  39. data/lib/workos/audit_logs/audit_log_schema_actor_input.rb +7 -0
  40. data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
  41. data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
  42. data/lib/workos/audit_logs/audit_log_schema_target_input.rb +7 -0
  43. data/lib/workos/audit_logs.rb +20 -20
  44. data/lib/workos/{audit_logs/audit_log_schema_json_actor.rb → authorization/create_group_role_assignment.rb} +1 -1
  45. data/lib/workos/authorization/delete_group_role_assignments_by_criteria.rb +7 -0
  46. data/lib/workos/authorization/{role_assignment.rb → group_role_assignment.rb} +5 -2
  47. data/lib/workos/authorization/group_role_assignment_list.rb +25 -0
  48. data/lib/workos/authorization/{role_assignment_resource.rb → group_role_assignment_resource.rb} +1 -1
  49. data/lib/workos/authorization/permission_created.rb +5 -5
  50. data/lib/workos/authorization/permission_deleted.rb +5 -5
  51. data/lib/workos/authorization/permission_updated.rb +5 -5
  52. data/lib/workos/{api_keys/api_key_with_value_owner.rb → authorization/replace_group_role_assignment_entry.rb} +1 -1
  53. data/lib/workos/authorization/replace_group_role_assignments.rb +18 -0
  54. data/lib/workos/authorization/role_created.rb +5 -5
  55. data/lib/workos/authorization/role_deleted.rb +5 -5
  56. data/lib/workos/authorization/role_updated.rb +5 -5
  57. data/lib/workos/authorization/user_role_assignment.rb +40 -0
  58. data/lib/workos/authorization/user_role_assignment_resource.rb +7 -0
  59. data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → authorization/user_role_assignment_source.rb} +4 -4
  60. data/lib/workos/authorization.rb +326 -30
  61. data/lib/workos/base_client.rb +90 -7
  62. data/lib/workos/client.rb +18 -10
  63. data/lib/workos/client_api/client_api_token.rb +22 -0
  64. data/lib/workos/client_api/client_api_token_response.rb +18 -0
  65. data/lib/workos/client_api.rb +39 -0
  66. data/lib/workos/connect/connect_application.rb +12 -0
  67. data/lib/workos/connect/connect_application_redirect_uri.rb +22 -0
  68. data/lib/workos/connect/user_object.rb +3 -0
  69. data/lib/workos/connect.rb +2 -2
  70. data/lib/workos/directory_sync/directory_user.rb +3 -0
  71. data/lib/workos/directory_sync/directory_user_with_groups.rb +4 -1
  72. data/lib/workos/directory_sync/dsync_activated.rb +5 -5
  73. data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
  74. data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
  75. data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
  76. data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
  77. data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
  78. data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
  79. data/lib/workos/directory_sync/dsync_token_created.rb +34 -0
  80. data/lib/workos/directory_sync/dsync_token_created_data.rb +34 -0
  81. data/lib/workos/directory_sync/dsync_token_revoked.rb +34 -0
  82. data/lib/workos/directory_sync/dsync_token_revoked_data.rb +7 -0
  83. data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
  84. data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
  85. data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
  86. data/lib/workos/directory_sync/dsync_user_updated_data.rb +3 -0
  87. data/lib/workos/directory_sync.rb +6 -6
  88. data/lib/workos/encryptors/aes_gcm.rb +19 -5
  89. data/lib/workos/events.rb +2 -2
  90. data/lib/workos/feature_flags/flag_created.rb +5 -5
  91. data/lib/workos/feature_flags/flag_deleted.rb +5 -5
  92. data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
  93. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
  94. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
  95. data/lib/workos/feature_flags/flag_updated.rb +5 -5
  96. data/lib/workos/feature_flags.rb +6 -6
  97. data/lib/workos/{authorization → groups}/user_organization_membership_base_list_data.rb +5 -2
  98. data/lib/workos/groups.rb +4 -4
  99. data/lib/workos/inflections.rb +3 -1
  100. data/lib/workos/multi_factor_auth.rb +2 -2
  101. data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
  102. data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
  103. data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
  104. data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
  105. data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
  106. data/lib/workos/{user_management → organization_membership}/organization_membership.rb +8 -2
  107. data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +8 -2
  108. data/lib/workos/organization_membership_service.rb +273 -0
  109. data/lib/workos/organizations/audit_logs_retention.rb +2 -7
  110. data/lib/workos/organizations/organization_created.rb +5 -5
  111. data/lib/workos/organizations/organization_deleted.rb +5 -5
  112. data/lib/workos/organizations/organization_membership_created.rb +5 -5
  113. data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
  114. data/lib/workos/organizations/organization_membership_updated.rb +5 -5
  115. data/lib/workos/organizations/organization_role_created.rb +5 -5
  116. data/lib/workos/organizations/organization_role_deleted.rb +5 -5
  117. data/lib/workos/organizations/organization_role_updated.rb +5 -5
  118. data/lib/workos/organizations/organization_updated.rb +5 -5
  119. data/lib/workos/organizations.rb +2 -2
  120. data/lib/workos/pipes/connected_account.rb +6 -0
  121. data/lib/workos/pipes/connected_account_dto.rb +31 -0
  122. data/lib/workos/pipes/create_data_integration.rb +34 -0
  123. data/lib/workos/pipes/custom_provider_definition.rb +49 -0
  124. data/lib/workos/pipes/data_integration.rb +55 -0
  125. data/lib/workos/pipes/data_integration_credential.rb +25 -0
  126. data/lib/workos/pipes/data_integration_credentials_dto.rb +25 -0
  127. data/lib/workos/pipes/data_integration_credentials_response.rb +25 -0
  128. data/lib/workos/pipes/data_integration_credentials_response_credential.rb +34 -0
  129. data/lib/workos/pipes/data_integration_custom_provider.rb +49 -0
  130. data/lib/workos/pipes/data_integrations_list_response_data.rb +3 -0
  131. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
  132. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +25 -0
  133. data/lib/workos/pipes/data_integrations_vend_credentials_request.rb +22 -0
  134. data/lib/workos/pipes/update_custom_provider_definition.rb +49 -0
  135. data/lib/workos/pipes/update_data_integration.rb +31 -0
  136. data/lib/workos/pipes.rb +309 -5
  137. data/lib/workos/pipes_provider/configure_data_integration_body.rb +28 -0
  138. data/lib/workos/pipes_provider/data_integration_configuration_list_response.rb +22 -0
  139. data/lib/workos/{directory_sync/dsync_deactivated_data.rb → pipes_provider/data_integration_configuration_response.rb} +13 -13
  140. data/lib/workos/pipes_provider/data_integration_credentials.rb +31 -0
  141. data/lib/workos/pipes_provider.rb +68 -0
  142. data/lib/workos/radar/radar_standalone_assess_request.rb +3 -6
  143. data/lib/workos/radar.rb +7 -10
  144. data/lib/workos/session.rb +28 -7
  145. data/lib/workos/session_manager.rb +24 -1
  146. data/lib/workos/shared/auth_method_mismatch_error.rb +22 -0
  147. data/lib/workos/shared/connect_application_m2m.rb +46 -0
  148. data/lib/workos/shared/connect_application_oauth.rb +58 -0
  149. data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
  150. data/lib/workos/shared/error_response.rb +18 -0
  151. data/lib/workos/shared/group_created.rb +5 -5
  152. data/lib/workos/shared/group_deleted.rb +5 -5
  153. data/lib/workos/shared/group_member_added.rb +5 -5
  154. data/lib/workos/shared/group_member_removed.rb +5 -5
  155. data/lib/workos/shared/group_updated.rb +5 -5
  156. data/lib/workos/shared/pipe_connected_account.rb +46 -0
  157. data/lib/workos/{directory_sync/dsync_deactivated.rb → shared/pipes_connected_account_connected.rb} +7 -7
  158. data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
  159. data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
  160. data/lib/workos/shared/waitlist_user_approved.rb +5 -5
  161. data/lib/workos/shared/waitlist_user_created.rb +5 -5
  162. data/lib/workos/shared/waitlist_user_denied.rb +5 -5
  163. data/lib/workos/sso/connection_activated.rb +5 -5
  164. data/lib/workos/sso/connection_deactivated.rb +5 -5
  165. data/lib/workos/sso/connection_deleted.rb +5 -5
  166. data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
  167. data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
  168. data/lib/workos/sso/profile.rb +3 -0
  169. data/lib/workos/sso.rb +2 -2
  170. data/lib/workos/types/audit_log_configuration_log_stream_type.rb +2 -1
  171. data/lib/workos/types/audit_log_export_state.rb +2 -1
  172. data/lib/workos/types/connected_account_auth_method.rb +13 -0
  173. data/lib/workos/types/connected_account_state.rb +1 -2
  174. data/lib/workos/types/create_webhook_endpoint_events.rb +12 -1
  175. data/lib/workos/types/custom_provider_definition_authenticate_via.rb +13 -0
  176. data/lib/workos/types/data_integration_access_token_response_error.rb +2 -2
  177. data/lib/workos/types/data_integration_credential_type.rb +13 -0
  178. data/lib/workos/types/data_integration_credentials_credentials_type.rb +14 -0
  179. data/lib/workos/types/{directories_order.rb → data_integration_credentials_response_error.rb} +1 -1
  180. data/lib/workos/types/{authorization_order.rb → data_integration_credentials_type.rb} +1 -1
  181. data/lib/workos/types/data_integration_custom_provider_authenticate_via.rb +9 -0
  182. data/lib/workos/types/data_integration_state.rb +14 -0
  183. data/lib/workos/types/{connections_order.rb → data_integrations_list_response_data_auth_methods.rb} +1 -1
  184. data/lib/workos/types/data_integrations_list_response_data_connected_account_auth_method.rb +9 -0
  185. data/lib/workos/types/data_integrations_list_response_data_connected_account_state.rb +6 -1
  186. data/lib/workos/types/event_context_actor_source.rb +2 -1
  187. data/lib/workos/types/{applications_order.rb → pagination_order.rb} +1 -1
  188. data/lib/workos/types/pipe_connected_account_state.rb +13 -0
  189. data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
  190. data/lib/workos/types/radar_list_type.rb +18 -0
  191. data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
  192. data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
  193. data/lib/workos/types/radar_standalone_response_control.rb +1 -4
  194. data/lib/workos/types/update_custom_provider_definition_authenticate_via.rb +9 -0
  195. data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
  196. data/lib/workos/types/user_role_assignment_source_type.rb +13 -0
  197. data/lib/workos/types/{vault_byok_key_verification_completed_data_key_provider.rb → vault_byok_key_provider.rb} +1 -1
  198. data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
  199. data/lib/workos/types/webhook_endpoint_status.rb +1 -5
  200. data/lib/workos/types/widget_session_token_scopes.rb +2 -1
  201. data/lib/workos/user_management/action_authentication_denied.rb +6 -6
  202. data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
  203. data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
  204. data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
  205. data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
  206. data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
  207. data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
  208. data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
  209. data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
  210. data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
  211. data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
  212. data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
  213. data/lib/workos/user_management/authentication_password_failed.rb +5 -5
  214. data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
  215. data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
  216. data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
  217. data/lib/workos/user_management/authentication_sso_started.rb +5 -5
  218. data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
  219. data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
  220. data/lib/workos/user_management/authorization_code_session_authenticate_request.rb +5 -2
  221. data/lib/workos/user_management/create_magic_code_and_return.rb +14 -2
  222. data/lib/workos/user_management/create_user.rb +12 -0
  223. data/lib/workos/user_management/create_user_api_key.rb +28 -0
  224. data/lib/workos/user_management/email_change_confirmation_user.rb +3 -0
  225. data/lib/workos/user_management/email_verification_created.rb +5 -5
  226. data/lib/workos/user_management/invitation_accepted.rb +5 -5
  227. data/lib/workos/user_management/invitation_created.rb +5 -5
  228. data/lib/workos/user_management/invitation_resent.rb +5 -5
  229. data/lib/workos/user_management/invitation_revoked.rb +5 -5
  230. data/lib/workos/user_management/magic_auth_code_session_authenticate_request.rb +5 -2
  231. data/lib/workos/user_management/magic_auth_created.rb +5 -5
  232. data/lib/workos/user_management/magic_auth_send_magic_auth_code_and_return_response.rb +43 -0
  233. data/lib/workos/user_management/password_reset_created.rb +5 -5
  234. data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
  235. data/lib/workos/user_management/password_session_authenticate_request.rb +8 -2
  236. data/lib/workos/user_management/radar_email_challenge_code_session_authenticate_request.rb +43 -0
  237. data/lib/workos/user_management/radar_sms_challenge_code_session_authenticate_request.rb +46 -0
  238. data/lib/workos/user_management/revoke_session.rb +2 -6
  239. data/lib/workos/user_management/send_radar_sms_challenge.rb +31 -0
  240. data/lib/workos/user_management/send_radar_sms_challenge_response.rb +22 -0
  241. data/lib/workos/user_management/session_created.rb +5 -5
  242. data/lib/workos/user_management/session_revoked.rb +5 -5
  243. data/lib/workos/user_management/update_user.rb +3 -0
  244. data/lib/workos/user_management/user_api_key.rb +46 -0
  245. data/lib/workos/user_management/user_api_key_created_data_owner.rb +25 -0
  246. data/lib/workos/user_management/user_api_key_owner.rb +7 -0
  247. data/lib/workos/user_management/user_api_key_revoked_data_owner.rb +7 -0
  248. data/lib/workos/user_management/user_api_key_updated_data_owner.rb +7 -0
  249. data/lib/workos/{api_keys/api_key_with_value.rb → user_management/user_api_key_with_value.rb} +5 -2
  250. data/lib/workos/user_management/user_api_key_with_value_owner.rb +7 -0
  251. data/lib/workos/user_management/user_create_response.rb +61 -0
  252. data/lib/workos/user_management/user_created.rb +5 -5
  253. data/lib/workos/user_management/user_deleted.rb +5 -5
  254. data/lib/workos/user_management/user_updated.rb +5 -5
  255. data/lib/workos/user_management.rb +351 -202
  256. data/lib/workos/vault/actor.rb +22 -0
  257. data/lib/workos/vault/create_data_key_request.rb +18 -0
  258. data/lib/workos/vault/create_data_key_response.rb +28 -0
  259. data/lib/workos/vault/create_object_request.rb +25 -0
  260. data/lib/workos/vault/decrypt_request.rb +18 -0
  261. data/lib/workos/vault/decrypt_response.rb +22 -0
  262. data/lib/workos/vault/delete_object_response.rb +22 -0
  263. data/lib/workos/vault/object_metadata.rb +37 -0
  264. data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
  265. data/lib/workos/vault/object_version.rb +31 -0
  266. data/lib/workos/vault/object_without_value.rb +25 -0
  267. data/lib/workos/vault/rekey_request.rb +22 -0
  268. data/lib/workos/vault/update_object_request.rb +22 -0
  269. data/lib/workos/vault/vault_byok_key_deleted.rb +34 -0
  270. data/lib/workos/vault/vault_byok_key_deleted_data.rb +22 -0
  271. data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
  272. data/lib/workos/vault/vault_data_created.rb +5 -5
  273. data/lib/workos/vault/vault_data_deleted.rb +5 -5
  274. data/lib/workos/vault/vault_data_read.rb +5 -5
  275. data/lib/workos/vault/vault_data_updated.rb +5 -5
  276. data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
  277. data/lib/workos/vault/vault_dek_read.rb +5 -5
  278. data/lib/workos/vault/vault_kek_created.rb +5 -5
  279. data/lib/workos/vault/vault_metadata_read.rb +5 -5
  280. data/lib/workos/vault/vault_names_listed.rb +5 -5
  281. data/lib/workos/vault/vault_object.rb +28 -0
  282. data/lib/workos/vault/version_list_response.rb +22 -0
  283. data/lib/workos/vault.rb +273 -139
  284. data/lib/workos/version.rb +1 -1
  285. data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
  286. data/lib/workos/webhooks.rb +10 -11
  287. data/lib/workos/widgets/widget_session_token_response.rb +1 -12
  288. data/lib/workos.rb +3 -0
  289. data/rbi/workos/action_authentication_denied.rbi +10 -10
  290. data/rbi/workos/action_user_registration_denied.rbi +10 -10
  291. data/rbi/workos/actor.rbi +30 -0
  292. data/rbi/workos/admin_portal.rbi +1 -2
  293. data/rbi/workos/api_key.rbi +8 -2
  294. data/rbi/workos/api_key_created.rbi +6 -6
  295. data/rbi/workos/api_key_created_data.rbi +8 -2
  296. data/rbi/workos/api_key_revoked.rbi +6 -6
  297. data/rbi/workos/api_key_revoked_data.rbi +8 -2
  298. data/rbi/workos/{dsync_deactivated.rbi → api_key_updated.rbi} +9 -9
  299. data/rbi/workos/api_key_updated_data.rbi +84 -0
  300. data/rbi/workos/{api_key_with_value_owner.rbi → api_key_updated_data_owner.rbi} +1 -1
  301. data/rbi/workos/{audit_logs_retention_json.rbi → api_key_updated_data_previous_attribute.rbi} +5 -5
  302. data/rbi/workos/api_keys.rbi +27 -17
  303. data/rbi/workos/audit_log_action.rbi +1 -0
  304. data/rbi/workos/audit_log_export.rbi +1 -0
  305. data/rbi/workos/audit_log_schema.rbi +18 -0
  306. data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
  307. data/rbi/workos/audit_log_schema_input.rbi +36 -0
  308. data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
  309. data/rbi/workos/audit_logs.rbi +9 -9
  310. data/rbi/workos/audit_logs_retention.rbi +1 -0
  311. data/rbi/workos/auth_method_mismatch_error.rbi +30 -0
  312. data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
  313. data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
  314. data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
  315. data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
  316. data/rbi/workos/authentication_mfa_failed.rbi +6 -6
  317. data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
  318. data/rbi/workos/authentication_oauth_failed.rbi +6 -6
  319. data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
  320. data/rbi/workos/authentication_passkey_failed.rbi +6 -6
  321. data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
  322. data/rbi/workos/authentication_password_failed.rbi +6 -6
  323. data/rbi/workos/authentication_password_succeeded.rbi +6 -6
  324. data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
  325. data/rbi/workos/authentication_sso_failed.rbi +6 -6
  326. data/rbi/workos/authentication_sso_started.rbi +6 -6
  327. data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
  328. data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
  329. data/rbi/workos/authorization.rbi +97 -4
  330. data/rbi/workos/authorization_code_session_authenticate_request.rbi +8 -2
  331. data/rbi/workos/client.rbi +15 -6
  332. data/rbi/workos/client_api.rbi +22 -0
  333. data/rbi/workos/client_api_token.rbi +30 -0
  334. data/rbi/workos/client_api_token_response.rbi +24 -0
  335. data/rbi/workos/configure_data_integration_body.rbi +42 -0
  336. data/rbi/workos/connect_application.rbi +0 -12
  337. data/rbi/workos/{dsync_deactivated_data.rbi → connect_application_m2m.rbi} +19 -19
  338. data/rbi/workos/connect_application_oauth.rbi +102 -0
  339. data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
  340. data/rbi/workos/connected_account.rbi +12 -0
  341. data/rbi/workos/connected_account_dto.rbi +48 -0
  342. data/rbi/workos/connection_activated.rbi +6 -6
  343. data/rbi/workos/connection_deactivated.rbi +6 -6
  344. data/rbi/workos/connection_deleted.rbi +6 -6
  345. data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
  346. data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
  347. data/rbi/workos/create_data_integration.rbi +54 -0
  348. data/rbi/workos/create_data_key_request.rbi +24 -0
  349. data/rbi/workos/create_data_key_response.rbi +42 -0
  350. data/rbi/workos/create_group_role_assignment.rbi +42 -0
  351. data/rbi/workos/create_magic_code_and_return.rbi +24 -0
  352. data/rbi/workos/create_object_request.rbi +36 -0
  353. data/rbi/workos/create_organization_api_key.rbi +6 -0
  354. data/rbi/workos/create_user.rbi +24 -0
  355. data/rbi/workos/create_user_api_key.rbi +42 -0
  356. data/rbi/workos/custom_provider_definition.rbi +84 -0
  357. data/rbi/workos/data_integration.rbi +96 -0
  358. data/rbi/workos/data_integration_configuration_list_response.rbi +30 -0
  359. data/rbi/workos/data_integration_configuration_response.rbi +78 -0
  360. data/rbi/workos/data_integration_credential.rbi +36 -0
  361. data/rbi/workos/data_integration_credentials.rbi +48 -0
  362. data/rbi/workos/data_integration_credentials_dto.rbi +36 -0
  363. data/rbi/workos/data_integration_credentials_response.rbi +36 -0
  364. data/rbi/workos/data_integration_credentials_response_credential.rbi +54 -0
  365. data/rbi/workos/data_integration_custom_provider.rbi +84 -0
  366. data/rbi/workos/data_integrations_list_response_data.rbi +6 -0
  367. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
  368. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +36 -0
  369. data/rbi/workos/data_integrations_vend_credentials_request.rbi +30 -0
  370. data/rbi/workos/decrypt_request.rbi +24 -0
  371. data/rbi/workos/decrypt_response.rbi +30 -0
  372. data/rbi/workos/delete_group_role_assignments_by_criteria.rbi +42 -0
  373. data/rbi/workos/delete_object_response.rbi +30 -0
  374. data/rbi/workos/directory_user.rbi +6 -0
  375. data/rbi/workos/directory_user_with_groups.rbi +6 -0
  376. data/rbi/workos/dsync_activated.rbi +6 -6
  377. data/rbi/workos/dsync_deleted.rbi +6 -6
  378. data/rbi/workos/dsync_group_created.rbi +6 -6
  379. data/rbi/workos/dsync_group_deleted.rbi +6 -6
  380. data/rbi/workos/dsync_group_updated.rbi +6 -6
  381. data/rbi/workos/dsync_group_user_added.rbi +6 -6
  382. data/rbi/workos/dsync_group_user_removed.rbi +6 -6
  383. data/rbi/workos/dsync_token_created.rbi +54 -0
  384. data/rbi/workos/{audit_log_export_json.rbi → dsync_token_created_data.rbi} +9 -9
  385. data/rbi/workos/dsync_token_revoked.rbi +54 -0
  386. data/rbi/workos/{audit_log_action_json.rbi → dsync_token_revoked_data.rbi} +17 -11
  387. data/rbi/workos/dsync_user_created.rbi +6 -6
  388. data/rbi/workos/dsync_user_deleted.rbi +6 -6
  389. data/rbi/workos/dsync_user_updated.rbi +6 -6
  390. data/rbi/workos/dsync_user_updated_data.rbi +6 -0
  391. data/rbi/workos/email_change_confirmation_user.rbi +6 -0
  392. data/rbi/workos/email_verification_created.rbi +6 -6
  393. data/rbi/workos/error_response.rbi +24 -0
  394. data/rbi/workos/expire_api_key.rbi +24 -0
  395. data/rbi/workos/flag_created.rbi +6 -6
  396. data/rbi/workos/flag_deleted.rbi +6 -6
  397. data/rbi/workos/flag_rule_updated.rbi +6 -6
  398. data/rbi/workos/flag_updated.rbi +6 -6
  399. data/rbi/workos/generate_link.rbi +0 -6
  400. data/rbi/workos/group_created.rbi +6 -6
  401. data/rbi/workos/group_deleted.rbi +6 -6
  402. data/rbi/workos/group_member_added.rbi +6 -6
  403. data/rbi/workos/group_member_removed.rbi +6 -6
  404. data/rbi/workos/{role_assignment.rbi → group_role_assignment.rbi} +9 -3
  405. data/rbi/workos/group_role_assignment_resource.rbi +36 -0
  406. data/rbi/workos/group_updated.rbi +6 -6
  407. data/rbi/workos/invitation_accepted.rbi +6 -6
  408. data/rbi/workos/invitation_created.rbi +6 -6
  409. data/rbi/workos/invitation_resent.rbi +6 -6
  410. data/rbi/workos/invitation_revoked.rbi +6 -6
  411. data/rbi/workos/magic_auth_code_session_authenticate_request.rbi +6 -0
  412. data/rbi/workos/magic_auth_created.rbi +6 -6
  413. data/rbi/workos/{webhook_endpoint_json.rbi → magic_auth_send_magic_auth_code_and_return_response.rbi} +19 -13
  414. data/rbi/workos/object_metadata.rbi +60 -0
  415. data/rbi/workos/object_summary.rbi +36 -0
  416. data/rbi/workos/object_version.rbi +48 -0
  417. data/rbi/workos/object_without_value.rbi +36 -0
  418. data/rbi/workos/organization_api_key.rbi +78 -0
  419. data/rbi/workos/organization_api_key_owner.rbi +30 -0
  420. data/rbi/workos/organization_api_key_with_value.rbi +84 -0
  421. data/rbi/workos/organization_api_key_with_value_owner.rbi +30 -0
  422. data/rbi/workos/organization_created.rbi +6 -6
  423. data/rbi/workos/organization_deleted.rbi +6 -6
  424. data/rbi/workos/organization_domain_created.rbi +6 -6
  425. data/rbi/workos/organization_domain_deleted.rbi +6 -6
  426. data/rbi/workos/organization_domain_updated.rbi +6 -6
  427. data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
  428. data/rbi/workos/organization_domain_verified.rbi +6 -6
  429. data/rbi/workos/organization_membership.rbi +12 -0
  430. data/rbi/workos/organization_membership_created.rbi +6 -6
  431. data/rbi/workos/organization_membership_deleted.rbi +6 -6
  432. data/rbi/workos/organization_membership_service.rbi +114 -0
  433. data/rbi/workos/organization_membership_updated.rbi +6 -6
  434. data/rbi/workos/organization_role_created.rbi +6 -6
  435. data/rbi/workos/organization_role_deleted.rbi +6 -6
  436. data/rbi/workos/organization_role_updated.rbi +6 -6
  437. data/rbi/workos/organization_updated.rbi +6 -6
  438. data/rbi/workos/password_reset_created.rbi +6 -6
  439. data/rbi/workos/password_reset_succeeded.rbi +6 -6
  440. data/rbi/workos/password_session_authenticate_request.rbi +12 -0
  441. data/rbi/workos/permission_created.rbi +6 -6
  442. data/rbi/workos/permission_deleted.rbi +6 -6
  443. data/rbi/workos/permission_updated.rbi +6 -6
  444. data/rbi/workos/pipe_connected_account.rbi +78 -0
  445. data/rbi/workos/pipes.rbi +105 -1
  446. data/rbi/workos/pipes_connected_account_connected.rbi +54 -0
  447. data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
  448. data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
  449. data/rbi/workos/pipes_provider.rbi +34 -0
  450. data/rbi/workos/profile.rbi +6 -0
  451. data/rbi/workos/radar.rbi +2 -3
  452. data/rbi/workos/radar_email_challenge_code_session_authenticate_request.rbi +72 -0
  453. data/rbi/workos/radar_sms_challenge_code_session_authenticate_request.rbi +78 -0
  454. data/rbi/workos/radar_standalone_assess_request.rbi +2 -8
  455. data/rbi/workos/refresh_token_session_authenticate_request.rbi +2 -2
  456. data/rbi/workos/rekey_request.rbi +30 -0
  457. data/rbi/workos/replace_group_role_assignment_entry.rbi +42 -0
  458. data/rbi/workos/replace_group_role_assignments.rbi +24 -0
  459. data/rbi/workos/revoke_session.rbi +0 -6
  460. data/rbi/workos/role_created.rbi +6 -6
  461. data/rbi/workos/role_deleted.rbi +6 -6
  462. data/rbi/workos/role_updated.rbi +6 -6
  463. data/rbi/workos/send_radar_sms_challenge.rbi +48 -0
  464. data/rbi/workos/send_radar_sms_challenge_response.rbi +30 -0
  465. data/rbi/workos/session_created.rbi +6 -6
  466. data/rbi/workos/session_manager.rbi +1 -1
  467. data/rbi/workos/session_revoked.rbi +6 -6
  468. data/rbi/workos/update_custom_provider_definition.rbi +84 -0
  469. data/rbi/workos/update_data_integration.rbi +48 -0
  470. data/rbi/workos/update_object_request.rbi +30 -0
  471. data/rbi/workos/update_user.rbi +6 -0
  472. data/rbi/workos/user.rbi +6 -0
  473. data/rbi/workos/{api_key_with_value.rbi → user_api_key.rbi} +9 -9
  474. data/rbi/workos/user_api_key_created_data_owner.rbi +36 -0
  475. data/rbi/workos/{dsync_deactivated_data_domain.rbi → user_api_key_owner.rbi} +5 -5
  476. data/rbi/workos/user_api_key_revoked_data_owner.rbi +36 -0
  477. data/rbi/workos/user_api_key_updated_data_owner.rbi +36 -0
  478. data/rbi/workos/user_api_key_with_value.rbi +84 -0
  479. data/rbi/workos/user_api_key_with_value_owner.rbi +36 -0
  480. data/rbi/workos/user_create_response.rbi +108 -0
  481. data/rbi/workos/user_created.rbi +6 -6
  482. data/rbi/workos/user_deleted.rbi +6 -6
  483. data/rbi/workos/user_management.rbi +72 -86
  484. data/rbi/workos/user_object.rbi +6 -0
  485. data/rbi/workos/user_organization_membership.rbi +12 -0
  486. data/rbi/workos/user_organization_membership_base_list_data.rbi +6 -0
  487. data/rbi/workos/user_role_assignment.rbi +66 -0
  488. data/rbi/workos/{role_assignment_resource.rbi → user_role_assignment_resource.rbi} +1 -1
  489. data/rbi/workos/user_role_assignment_source.rbi +30 -0
  490. data/rbi/workos/user_updated.rbi +6 -6
  491. data/rbi/workos/vault.rbi +70 -95
  492. data/rbi/workos/vault_byok_key_deleted.rbi +54 -0
  493. data/rbi/workos/vault_byok_key_deleted_data.rbi +30 -0
  494. data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
  495. data/rbi/workos/vault_data_created.rbi +6 -6
  496. data/rbi/workos/vault_data_deleted.rbi +6 -6
  497. data/rbi/workos/vault_data_read.rbi +6 -6
  498. data/rbi/workos/vault_data_updated.rbi +6 -6
  499. data/rbi/workos/vault_dek_decrypted.rbi +6 -6
  500. data/rbi/workos/vault_dek_read.rbi +6 -6
  501. data/rbi/workos/vault_kek_created.rbi +6 -6
  502. data/rbi/workos/vault_metadata_read.rbi +6 -6
  503. data/rbi/workos/vault_names_listed.rbi +6 -6
  504. data/rbi/workos/vault_object.rbi +42 -0
  505. data/rbi/workos/waitlist_user_approved.rbi +6 -6
  506. data/rbi/workos/waitlist_user_created.rbi +6 -6
  507. data/rbi/workos/waitlist_user_denied.rbi +6 -6
  508. data/rbi/workos/webhook_endpoint.rbi +1 -0
  509. data/rbi/workos/webhooks.rbi +2 -2
  510. data/renovate.json +1 -61
  511. data/script/docs +16 -0
  512. data/script/docs-serve +12 -0
  513. data/script/llms-txt +37 -0
  514. data/test/workos/test_actions.rb +9 -0
  515. data/test/workos/test_admin_portal_model_round_trip.rb +33 -0
  516. data/test/workos/test_api_keys.rb +20 -12
  517. data/test/workos/test_audit_logs_model_round_trip.rb +218 -0
  518. data/test/workos/test_authorization.rb +64 -0
  519. data/test/workos/test_authorization_model_round_trip.rb +456 -0
  520. data/test/workos/test_base_client.rb +108 -0
  521. data/test/workos/test_client_api.rb +33 -0
  522. data/test/workos/test_connect_model_round_trip.rb +30 -0
  523. data/test/workos/test_encryptors_aes_gcm.rb +16 -1
  524. data/test/workos/test_groups_model_round_trip.rb +33 -0
  525. data/test/workos/test_model_round_trip.rb +2 -7138
  526. data/test/workos/test_organization_membership_service.rb +107 -0
  527. data/test/workos/test_organizations_model_round_trip.rb +29 -0
  528. data/test/workos/test_pipes.rb +75 -3
  529. data/test/workos/test_pipes_model_round_trip.rb +389 -0
  530. data/test/workos/test_pipes_provider.rb +41 -0
  531. data/test/workos/test_radar_model_round_trip.rb +85 -0
  532. data/test/workos/test_session.rb +43 -4
  533. data/test/workos/test_shared_model_round_trip.rb +92 -0
  534. data/test/workos/test_user_management.rb +77 -73
  535. data/test/workos/test_user_management_model_round_trip.rb +1087 -0
  536. data/test/workos/test_vault.rb +91 -88
  537. data/test/workos/test_webhook_verify.rb +11 -0
  538. data/test/workos/test_webhooks_model_round_trip.rb +53 -0
  539. metadata +220 -85
  540. data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
  541. data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
  542. data/lib/workos/types/audit_log_export_json_state.rb +0 -14
  543. data/lib/workos/types/directory_groups_order.rb +0 -9
  544. data/lib/workos/types/directory_users_order.rb +0 -9
  545. data/lib/workos/types/dsync_deactivated_data_state.rb +0 -9
  546. data/lib/workos/types/dsync_deactivated_data_type.rb +0 -9
  547. data/lib/workos/types/feature_flags_order.rb +0 -9
  548. data/lib/workos/types/groups_order.rb +0 -9
  549. data/lib/workos/types/organizations_api_keys_order.rb +0 -9
  550. data/lib/workos/types/organizations_feature_flags_order.rb +0 -9
  551. data/lib/workos/types/organizations_order.rb +0 -9
  552. data/lib/workos/types/permissions_order.rb +0 -9
  553. data/lib/workos/types/radar_type.rb +0 -9
  554. data/lib/workos/types/user_management_invitations_order.rb +0 -9
  555. data/lib/workos/types/user_management_multi_factor_authentication_order.rb +0 -9
  556. data/lib/workos/types/user_management_organization_membership_groups_order.rb +0 -9
  557. data/lib/workos/types/user_management_organization_membership_order.rb +0 -9
  558. data/lib/workos/types/user_management_users_authorized_applications_order.rb +0 -9
  559. data/lib/workos/types/user_management_users_feature_flags_order.rb +0 -9
  560. data/lib/workos/types/user_management_users_order.rb +0 -9
  561. data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
  562. data/lib/workos/types/webhooks_order.rb +0 -9
  563. data/lib/workos/user_management_organization_membership_groups.rb +0 -60
  564. data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
  565. data/rbi/workos/actions.rbi +0 -48
  566. data/rbi/workos/audit_log_schema_json.rbi +0 -54
  567. data/rbi/workos/base_client.rbi +0 -132
  568. data/rbi/workos/configuration.rbi +0 -68
  569. data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
  570. data/rbi/workos/errors.rbi +0 -43
  571. data/rbi/workos/hash_provider.rbi +0 -18
  572. data/rbi/workos/passwordless.rbi +0 -47
  573. data/rbi/workos/public_client.rbi +0 -12
  574. data/rbi/workos/session.rbi +0 -43
  575. data/rbi/workos/types/api_response.rbi +0 -29
  576. data/rbi/workos/types/base_model.rbi +0 -22
  577. data/rbi/workos/types/list_struct.rbi +0 -89
  578. data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
  579. data/rbi/workos/util.rbi +0 -12
  580. data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
  581. /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
  582. /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # This file is auto-generated by oagen. Do not edit.
3
4
 
4
5
  # typed: strong
@@ -25,7 +25,7 @@ module WorkOS
25
25
  endpoint_url: String,
26
26
  events: T::Array[String],
27
27
  request_options: T::Hash[Symbol, T.untyped]
28
- ).returns(WorkOS::WebhookEndpointJson)
28
+ ).returns(WorkOS::WebhookEndpoint)
29
29
  end
30
30
  def create_webhook_endpoint(endpoint_url:, events:, request_options:); end
31
31
 
@@ -36,7 +36,7 @@ module WorkOS
36
36
  status: T.nilable(String),
37
37
  events: T.nilable(T::Array[String]),
38
38
  request_options: T::Hash[Symbol, T.untyped]
39
- ).returns(WorkOS::WebhookEndpointJson)
39
+ ).returns(WorkOS::WebhookEndpoint)
40
40
  end
41
41
  def update_webhook_endpoint(id:, endpoint_url:, status:, events:, request_options:); end
42
42
 
data/renovate.json CHANGED
@@ -1,66 +1,6 @@
1
1
  {
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
3
  "extends": [
4
- "config:recommended"
5
- ],
6
- "dependencyDashboard": false,
7
- "schedule": [
8
- "on the 15th day of the month before 12pm"
9
- ],
10
- "timezone": "UTC",
11
- "rebaseWhen": "conflicted",
12
- "packageRules": [
13
- {
14
- "matchManagers": [
15
- "github-actions"
16
- ],
17
- "pinDigests": true,
18
- "extractVersion": "^v(?<version>\\d+\\.\\d+\\.\\d+)$"
19
- },
20
- {
21
- "matchUpdateTypes": [
22
- "minor",
23
- "patch"
24
- ],
25
- "automerge": true,
26
- "groupName": "minor and patch updates"
27
- },
28
- {
29
- "matchUpdateTypes": [
30
- "major"
31
- ],
32
- "automerge": false
33
- },
34
- {
35
- "matchUpdateTypes": [
36
- "digest"
37
- ],
38
- "automerge": false
39
- },
40
- {
41
- "matchManagers": [
42
- "github-actions"
43
- ],
44
- "matchUpdateTypes": [
45
- "minor",
46
- "patch",
47
- "digest",
48
- "pinDigest"
49
- ],
50
- "groupName": "github actions non-major",
51
- "groupSlug": "github-actions-non-major",
52
- "automerge": true
53
- },
54
- {
55
- "matchManagers": [
56
- "github-actions"
57
- ],
58
- "matchUpdateTypes": [
59
- "major"
60
- ],
61
- "groupName": "github actions major",
62
- "groupSlug": "github-actions-major",
63
- "automerge": false
64
- }
4
+ "github>workos/renovate-config:public"
65
5
  ]
66
6
  }
data/script/docs ADDED
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+ set -eu
3
+ cd "$(dirname "$0")/.."
4
+ bundle config set --local with 'docs'
5
+ bundle install
6
+ rm -rf docs/_site
7
+ # 1. Generate HTML docs (default YARD format).
8
+ bundle exec yard doc
9
+ # 2. Generate Markdown docs alongside the HTML, using the yard-markdown plugin.
10
+ # We point output at the same docs/_site directory so .md files land next to .html.
11
+ # --no-cache forces a re-parse so the markdown formatter sees fresh registry data.
12
+ # --plugin yard-markdown ensures the plugin is loaded without relying on ~/.yard/config.
13
+ bundle exec yard doc --plugin yard-markdown --format markdown --no-cache --output-dir docs/_site
14
+ # 3. Generate llms.txt (index) from the markdown output, so the published site
15
+ # is consumable by LLM tooling.
16
+ bundle exec ./script/llms-txt
data/script/docs-serve ADDED
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+ set -eu
3
+ cd "$(dirname "$0")/.."
4
+ bundle config set --local with 'docs'
5
+ bundle install --quiet
6
+ if [ "${1:-}" = "--static" ]; then
7
+ if [ ! -d docs/_site ]; then
8
+ ./script/docs
9
+ fi
10
+ exec bundle exec ruby -run -e httpd -- docs/_site -p 4000
11
+ fi
12
+ exec bundle exec yard server --reload --port 4000
data/script/llms-txt ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Generates llms.txt (curated index) from the Markdown docs produced by
5
+ # `yard --format markdown` in docs/_site. See https://llmstxt.org for the format.
6
+
7
+ require "pathname"
8
+
9
+ ROOT = Pathname.new(__dir__).join("..").expand_path
10
+ SITE = ROOT.join("docs/_site")
11
+ require ROOT.join("lib/workos/version").to_s
12
+
13
+ abort "docs/_site is missing — run script/docs first" unless SITE.directory?
14
+
15
+ md_files = Pathname.glob(SITE.join("**/*.md")).sort_by { |p| p.relative_path_from(SITE).to_s }
16
+
17
+ title_for = lambda do |path|
18
+ first_heading = path.each_line.lazy.map(&:strip).find { |l| l.start_with?("# ") }
19
+ first_heading ? first_heading.sub(/^#\s+/, "").sub(/\s*<a id=.*?<\/a>\s*$/, "").strip : path.basename(".md").to_s
20
+ end
21
+
22
+ index_lines = []
23
+ index_lines << "# WorkOS Ruby SDK v#{WorkOS::VERSION}"
24
+ index_lines << ""
25
+ index_lines << "> API client for WorkOS. This file indexes the auto-generated YARD documentation for the `workos` gem so language models can locate per-class references."
26
+ index_lines << ""
27
+ index_lines << "## API Reference"
28
+ index_lines << ""
29
+ md_files.each do |path|
30
+ rel = path.relative_path_from(SITE).to_s
31
+ index_lines << "- [#{title_for.call(path)}](#{rel})"
32
+ end
33
+ index_lines << ""
34
+
35
+ SITE.join("llms.txt").write(index_lines.join("\n"))
36
+
37
+ puts "Wrote #{SITE.join("llms.txt")} (#{md_files.size} entries)"
@@ -49,6 +49,15 @@ class ActionsTest < Minitest::Test
49
49
  end
50
50
  end
51
51
 
52
+ def test_verify_header_raises_on_future_timestamp
53
+ payload = '{"x":1}'
54
+ future_ts = now_ms + 60_000 # 60s ahead, beyond default 30s tolerance
55
+ sig = OpenSSL::HMAC.hexdigest("SHA256", SECRET, "#{future_ts}.#{payload}")
56
+ assert_raises(WorkOS::SignatureVerificationError) do
57
+ @actions.verify_header(payload: payload, sig_header: "t=#{future_ts}, v1=#{sig}", secret: SECRET)
58
+ end
59
+ end
60
+
52
61
  def test_sign_response_authentication_allow
53
62
  resp = @actions.sign_response(action_type: "authentication", verdict: "Allow", secret: SECRET)
54
63
  assert_equal "authentication_action_response", resp["object"]
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ require "test_helper"
6
+
7
+ class AdminPortalModelRoundTripTest < Minitest::Test
8
+ def test_generate_link_round_trip
9
+ fixture = {
10
+ "return_url" => "stub",
11
+ "success_url" => "stub",
12
+ "organization" => "stub",
13
+ "intent" => "stub",
14
+ "it_contact_emails" => []
15
+ }
16
+ model = WorkOS::GenerateLink.new(fixture.to_json)
17
+ json = model.to_h
18
+ assert_kind_of Hash, json
19
+ assert_equal fixture["organization"], json[:organization]
20
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
21
+ end
22
+
23
+ def test_portal_link_response_round_trip
24
+ fixture = {
25
+ "link" => "stub"
26
+ }
27
+ model = WorkOS::PortalLinkResponse.new(fixture.to_json)
28
+ json = model.to_h
29
+ assert_kind_of Hash, json
30
+ assert_equal fixture["link"], json[:link]
31
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
32
+ end
33
+ end
@@ -11,6 +11,20 @@ class ApiKeysTest < Minitest::Test
11
11
  @client = WorkOS::Client.new(api_key: "sk_test_123")
12
12
  end
13
13
 
14
+ def test_list_organization_api_keys_returns_expected_result
15
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)})
16
+ .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
17
+ result = @client.api_keys.list_organization_api_keys(organization_id: "stub")
18
+ assert_kind_of WorkOS::Types::ListStruct, result
19
+ end
20
+
21
+ def test_create_organization_api_key_returns_expected_result
22
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)})
23
+ .to_return(body: "{}", status: 200)
24
+ result = @client.api_keys.create_organization_api_key(organization_id: "stub", name: "stub")
25
+ refute_nil result
26
+ end
27
+
14
28
  def test_create_validation_returns_expected_result
15
29
  stub_request(:post, %r{\Ahttps://api\.workos\.com/api_keys/validations(\?|\z)})
16
30
  .to_return(body: "{}", status: 200)
@@ -25,26 +39,20 @@ class ApiKeysTest < Minitest::Test
25
39
  assert_nil result
26
40
  end
27
41
 
28
- def test_list_organization_api_keys_returns_expected_result
29
- stub_request(:get, %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)})
30
- .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
31
- result = @client.api_keys.list_organization_api_keys(organization_id: "stub")
32
- assert_kind_of WorkOS::Types::ListStruct, result
33
- end
34
-
35
- def test_create_organization_api_key_returns_expected_result
36
- stub_request(:post, %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)})
42
+ def test_create_api_key_expire_returns_expected_result
43
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/api_keys/stub/expire(\?|\z)})
37
44
  .to_return(body: "{}", status: 200)
38
- result = @client.api_keys.create_organization_api_key(organization_id: "stub", name: "stub")
45
+ result = @client.api_keys.create_api_key_expire(id: "stub")
39
46
  refute_nil result
40
47
  end
41
48
 
42
49
  # Parameterized authentication error tests (one per endpoint).
43
50
  [
51
+ {name: :list_organization_api_keys, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)}, args: {organization_id: "stub"}},
52
+ {name: :create_organization_api_key, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)}, args: {organization_id: "stub", name: "stub"}},
44
53
  {name: :create_validation, verb: :post, url: %r{\Ahttps://api\.workos\.com/api_keys/validations(\?|\z)}, args: {value: "stub"}},
45
54
  {name: :delete_api_key, verb: :delete, url: %r{\Ahttps://api\.workos\.com/api_keys/stub(\?|\z)}, args: {id: "stub"}},
46
- {name: :list_organization_api_keys, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)}, args: {organization_id: "stub"}},
47
- {name: :create_organization_api_key, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/api_keys(\?|\z)}, args: {organization_id: "stub", name: "stub"}}
55
+ {name: :create_api_key_expire, verb: :post, url: %r{\Ahttps://api\.workos\.com/api_keys/stub/expire(\?|\z)}, args: {id: "stub"}}
48
56
  ].each do |spec|
49
57
  define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
50
58
  stub_request(spec[:verb], spec[:url])
@@ -0,0 +1,218 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ require "test_helper"
6
+
7
+ class AuditLogsModelRoundTripTest < Minitest::Test
8
+ def test_audit_log_event_actor_round_trip
9
+ fixture = {
10
+ "id" => "stub",
11
+ "type" => "stub",
12
+ "name" => "stub",
13
+ "metadata" => {}
14
+ }
15
+ model = WorkOS::AuditLogEventActor.new(fixture.to_json)
16
+ json = model.to_h
17
+ assert_kind_of Hash, json
18
+ assert_equal fixture["id"], json[:id]
19
+ assert_equal fixture["type"], json[:type]
20
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
21
+ end
22
+
23
+ def test_audit_log_event_target_round_trip
24
+ fixture = {
25
+ "id" => "stub",
26
+ "type" => "stub",
27
+ "name" => "stub",
28
+ "metadata" => {}
29
+ }
30
+ model = WorkOS::AuditLogEventTarget.new(fixture.to_json)
31
+ json = model.to_h
32
+ assert_kind_of Hash, json
33
+ assert_equal fixture["id"], json[:id]
34
+ assert_equal fixture["type"], json[:type]
35
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
36
+ end
37
+
38
+ def test_audit_log_event_context_round_trip
39
+ fixture = {
40
+ "location" => "stub",
41
+ "user_agent" => "stub"
42
+ }
43
+ model = WorkOS::AuditLogEventContext.new(fixture.to_json)
44
+ json = model.to_h
45
+ assert_kind_of Hash, json
46
+ assert_equal fixture["location"], json[:location]
47
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
48
+ end
49
+
50
+ def test_audit_log_event_round_trip
51
+ fixture = {
52
+ "action" => "stub",
53
+ "occurred_at" => "stub",
54
+ "actor" => {},
55
+ "targets" => [],
56
+ "context" => {},
57
+ "metadata" => {},
58
+ "version" => 1
59
+ }
60
+ model = WorkOS::AuditLogEvent.new(fixture.to_json)
61
+ json = model.to_h
62
+ assert_kind_of Hash, json
63
+ assert_equal fixture["action"], json[:action]
64
+ assert_equal fixture["occurred_at"], json[:occurred_at]
65
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
66
+ end
67
+
68
+ def test_audit_log_event_ingestion_round_trip
69
+ fixture = {
70
+ "organization_id" => "stub",
71
+ "event" => {}
72
+ }
73
+ model = WorkOS::AuditLogEventIngestion.new(fixture.to_json)
74
+ json = model.to_h
75
+ assert_kind_of Hash, json
76
+ assert_equal fixture["organization_id"], json[:organization_id]
77
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
78
+ end
79
+
80
+ def test_audit_log_export_creation_round_trip
81
+ fixture = {
82
+ "organization_id" => "stub",
83
+ "range_start" => "stub",
84
+ "range_end" => "stub",
85
+ "actions" => [],
86
+ "actors" => [],
87
+ "actor_names" => [],
88
+ "actor_ids" => [],
89
+ "targets" => []
90
+ }
91
+ model = WorkOS::AuditLogExportCreation.new(fixture.to_json)
92
+ json = model.to_h
93
+ assert_kind_of Hash, json
94
+ assert_equal fixture["organization_id"], json[:organization_id]
95
+ assert_equal fixture["range_start"], json[:range_start]
96
+ assert_equal fixture["range_end"], json[:range_end]
97
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
98
+ end
99
+
100
+ def test_audit_log_schema_actor_input_round_trip
101
+ fixture = {
102
+ "metadata" => {}
103
+ }
104
+ model = WorkOS::AuditLogSchemaActorInput.new(fixture.to_json)
105
+ json = model.to_h
106
+ assert_kind_of Hash, json
107
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
108
+ end
109
+
110
+ def test_audit_log_schema_target_input_round_trip
111
+ fixture = {
112
+ "type" => "stub",
113
+ "metadata" => {}
114
+ }
115
+ model = WorkOS::AuditLogSchemaTargetInput.new(fixture.to_json)
116
+ json = model.to_h
117
+ assert_kind_of Hash, json
118
+ assert_equal fixture["type"], json[:type]
119
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
120
+ end
121
+
122
+ def test_audit_log_schema_input_round_trip
123
+ fixture = {
124
+ "actor" => {},
125
+ "targets" => [],
126
+ "metadata" => {}
127
+ }
128
+ model = WorkOS::AuditLogSchemaInput.new(fixture.to_json)
129
+ json = model.to_h
130
+ assert_kind_of Hash, json
131
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
132
+ end
133
+
134
+ def test_audit_log_event_create_response_round_trip
135
+ fixture = {
136
+ "success" => true
137
+ }
138
+ model = WorkOS::AuditLogEventCreateResponse.new(fixture.to_json)
139
+ json = model.to_h
140
+ assert_kind_of Hash, json
141
+ assert_equal fixture["success"], json[:success]
142
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
143
+ end
144
+
145
+ def test_audit_log_export_round_trip
146
+ fixture = {
147
+ "object" => "audit_log_export",
148
+ "id" => "stub",
149
+ "state" => "stub",
150
+ "url" => nil,
151
+ "created_at" => "stub",
152
+ "updated_at" => "stub"
153
+ }
154
+ model = WorkOS::AuditLogExport.new(fixture.to_json)
155
+ json = model.to_h
156
+ assert_kind_of Hash, json
157
+ assert_equal fixture["id"], json[:id]
158
+ assert_equal fixture["created_at"], json[:created_at]
159
+ assert_equal fixture["updated_at"], json[:updated_at]
160
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
161
+ end
162
+
163
+ def test_audit_log_schema_round_trip
164
+ fixture = {
165
+ "object" => "audit_log_schema",
166
+ "version" => 1,
167
+ "actor" => {},
168
+ "targets" => [],
169
+ "metadata" => {},
170
+ "created_at" => "stub"
171
+ }
172
+ model = WorkOS::AuditLogSchema.new(fixture.to_json)
173
+ json = model.to_h
174
+ assert_kind_of Hash, json
175
+ assert_equal fixture["version"], json[:version]
176
+ assert_equal fixture["created_at"], json[:created_at]
177
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
178
+ end
179
+
180
+ def test_audit_log_action_round_trip
181
+ fixture = {
182
+ "object" => "audit_log_action",
183
+ "name" => "stub",
184
+ "schema" => {},
185
+ "created_at" => "stub",
186
+ "updated_at" => "stub"
187
+ }
188
+ model = WorkOS::AuditLogAction.new(fixture.to_json)
189
+ json = model.to_h
190
+ assert_kind_of Hash, json
191
+ assert_equal fixture["name"], json[:name]
192
+ assert_equal fixture["created_at"], json[:created_at]
193
+ assert_equal fixture["updated_at"], json[:updated_at]
194
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
195
+ end
196
+
197
+ def test_audit_log_schema_actor_round_trip
198
+ fixture = {
199
+ "metadata" => {}
200
+ }
201
+ model = WorkOS::AuditLogSchemaActor.new(fixture.to_json)
202
+ json = model.to_h
203
+ assert_kind_of Hash, json
204
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
205
+ end
206
+
207
+ def test_audit_log_schema_target_round_trip
208
+ fixture = {
209
+ "type" => "stub",
210
+ "metadata" => {}
211
+ }
212
+ model = WorkOS::AuditLogSchemaTarget.new(fixture.to_json)
213
+ json = model.to_h
214
+ assert_kind_of Hash, json
215
+ assert_equal fixture["type"], json[:type]
216
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
217
+ end
218
+ end
@@ -11,6 +11,48 @@ class AuthorizationTest < Minitest::Test
11
11
  @client = WorkOS::Client.new(api_key: "sk_test_123")
12
12
  end
13
13
 
14
+ def test_list_group_role_assignments_returns_expected_result
15
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
16
+ .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
17
+ result = @client.authorization.list_group_role_assignments(group_id: "stub")
18
+ assert_kind_of WorkOS::Types::ListStruct, result
19
+ end
20
+
21
+ def test_create_group_role_assignment_returns_expected_result
22
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
23
+ .to_return(body: "{}", status: 200)
24
+ result = @client.authorization.create_group_role_assignment(group_id: "stub", role_slug: "stub")
25
+ refute_nil result
26
+ end
27
+
28
+ def test_update_group_role_assignments_returns_expected_result
29
+ stub_request(:put, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
30
+ .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
31
+ result = @client.authorization.update_group_role_assignments(group_id: "stub", role_assignments: [{}])
32
+ assert_kind_of WorkOS::Types::ListStruct, result
33
+ end
34
+
35
+ def test_delete_group_role_assignments_returns_expected_result
36
+ stub_request(:delete, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
37
+ .to_return(body: "{}", status: 200)
38
+ result = @client.authorization.delete_group_role_assignments(group_id: "stub", role_slug: "stub")
39
+ assert_nil result
40
+ end
41
+
42
+ def test_get_group_role_assignment_returns_expected_result
43
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)})
44
+ .to_return(body: "{}", status: 200)
45
+ result = @client.authorization.get_group_role_assignment(group_id: "stub", role_assignment_id: "stub")
46
+ refute_nil result
47
+ end
48
+
49
+ def test_delete_group_role_assignment_returns_expected_result
50
+ stub_request(:delete, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)})
51
+ .to_return(body: "{}", status: 200)
52
+ result = @client.authorization.delete_group_role_assignment(group_id: "stub", role_assignment_id: "stub")
53
+ assert_nil result
54
+ end
55
+
14
56
  def test_check_returns_expected_result
15
57
  stub_request(:post, %r{\Ahttps://api\.workos\.com/authorization/organization_memberships/stub/check(\?|\z)})
16
58
  .with(body: hash_including("permission_slug" => "stub", "resource_id" => "stub"))
@@ -192,6 +234,13 @@ class AuthorizationTest < Minitest::Test
192
234
  assert_kind_of WorkOS::Types::ListStruct, result
193
235
  end
194
236
 
237
+ def test_list_role_assignments_for_resource_by_external_id_returns_expected_result
238
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/organizations/stub/resources/stub/stub/role_assignments(\?|\z)})
239
+ .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
240
+ result = @client.authorization.list_role_assignments_for_resource_by_external_id(organization_id: "stub", resource_type_slug: "stub", external_id: "stub")
241
+ assert_kind_of WorkOS::Types::ListStruct, result
242
+ end
243
+
195
244
  def test_list_resources_returns_expected_result
196
245
  stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/resources(\?|\z)})
197
246
  .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
@@ -259,6 +308,13 @@ class AuthorizationTest < Minitest::Test
259
308
  assert_kind_of WorkOS::Types::ListStruct, result
260
309
  end
261
310
 
311
+ def test_list_role_assignments_for_resource_returns_expected_result
312
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/resources/stub/role_assignments(\?|\z)})
313
+ .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
314
+ result = @client.authorization.list_role_assignments_for_resource(resource_id: "stub")
315
+ assert_kind_of WorkOS::Types::ListStruct, result
316
+ end
317
+
262
318
  def test_list_environment_roles_returns_expected_result
263
319
  stub_request(:get, %r{\Ahttps://api\.workos\.com/authorization/roles(\?|\z)})
264
320
  .to_return(body: "{}", status: 200)
@@ -338,6 +394,12 @@ class AuthorizationTest < Minitest::Test
338
394
 
339
395
  # Parameterized authentication error tests (one per endpoint).
340
396
  [
397
+ {name: :list_group_role_assignments, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub"}},
398
+ {name: :create_group_role_assignment, verb: :post, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_slug: "stub"}},
399
+ {name: :update_group_role_assignments, verb: :put, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_assignments: [{}]}},
400
+ {name: :delete_group_role_assignments, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_slug: "stub"}},
401
+ {name: :get_group_role_assignment, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)}, args: {group_id: "stub", role_assignment_id: "stub"}},
402
+ {name: :delete_group_role_assignment, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)}, args: {group_id: "stub", role_assignment_id: "stub"}},
341
403
  {name: :check, verb: :post, url: %r{\Ahttps://api\.workos\.com/authorization/organization_memberships/stub/check(\?|\z)}, args: {organization_membership_id: "stub", permission_slug: "stub", resource_target: WorkOS::Authorization::ResourceTargetById.new(resource_id: "stub")}},
342
404
  {name: :list_resources_for_membership, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/organization_memberships/stub/resources(\?|\z)}, args: {organization_membership_id: "stub", permission_slug: "stub", parent_resource: WorkOS::Authorization::ParentResourceById.new(parent_resource_id: "stub")}},
343
405
  {name: :list_effective_permissions, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/organization_memberships/stub/resources/stub/permissions(\?|\z)}, args: {organization_membership_id: "stub", resource_id: "stub"}},
@@ -358,12 +420,14 @@ class AuthorizationTest < Minitest::Test
358
420
  {name: :update_resource_by_external_id, verb: :patch, url: %r{\Ahttps://api\.workos\.com/authorization/organizations/stub/resources/stub/stub(\?|\z)}, args: {organization_id: "stub", resource_type_slug: "stub", external_id: "stub", parent_resource: WorkOS::Authorization::ParentResourceById.new(parent_resource_id: "stub")}},
359
421
  {name: :delete_resource_by_external_id, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/organizations/stub/resources/stub/stub(\?|\z)}, args: {organization_id: "stub", resource_type_slug: "stub", external_id: "stub"}},
360
422
  {name: :list_memberships_for_resource_by_external_id, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/organizations/stub/resources/stub/stub/organization_memberships(\?|\z)}, args: {organization_id: "stub", resource_type_slug: "stub", external_id: "stub", permission_slug: "stub"}},
423
+ {name: :list_role_assignments_for_resource_by_external_id, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/organizations/stub/resources/stub/stub/role_assignments(\?|\z)}, args: {organization_id: "stub", resource_type_slug: "stub", external_id: "stub"}},
361
424
  {name: :list_resources, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/resources(\?|\z)}, args: {parent: WorkOS::Authorization::ParentById.new(parent_resource_id: "stub")}},
362
425
  {name: :create_resource, verb: :post, url: %r{\Ahttps://api\.workos\.com/authorization/resources(\?|\z)}, args: {external_id: "stub", name: "stub", resource_type_slug: "stub", organization_id: "stub", parent_resource: WorkOS::Authorization::ParentResourceById.new(parent_resource_id: "stub")}},
363
426
  {name: :get_resource, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/resources/stub(\?|\z)}, args: {resource_id: "stub"}},
364
427
  {name: :update_resource, verb: :patch, url: %r{\Ahttps://api\.workos\.com/authorization/resources/stub(\?|\z)}, args: {resource_id: "stub", parent_resource: WorkOS::Authorization::ParentResourceById.new(parent_resource_id: "stub")}},
365
428
  {name: :delete_resource, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/resources/stub(\?|\z)}, args: {resource_id: "stub"}},
366
429
  {name: :list_memberships_for_resource, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/resources/stub/organization_memberships(\?|\z)}, args: {resource_id: "stub", permission_slug: "stub"}},
430
+ {name: :list_role_assignments_for_resource, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/resources/stub/role_assignments(\?|\z)}, args: {resource_id: "stub"}},
367
431
  {name: :list_environment_roles, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/roles(\?|\z)}},
368
432
  {name: :create_environment_role, verb: :post, url: %r{\Ahttps://api\.workos\.com/authorization/roles(\?|\z)}, args: {slug: "stub", name: "stub"}},
369
433
  {name: :get_environment_role, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/roles/stub(\?|\z)}, args: {slug: "stub"}},