workos 6.1.0 → 7.0.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 (1353) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -2
  3. data/.github/workflows/ci.yml +7 -10
  4. data/.github/workflows/lint-pr-title.yml +1 -1
  5. data/.github/workflows/lint.yml +25 -0
  6. data/.github/workflows/release-please.yml +2 -2
  7. data/.github/workflows/release.yml +3 -7
  8. data/.oagen-manifest.json +1015 -0
  9. data/.release-please-manifest.json +1 -1
  10. data/.ruby-version +1 -1
  11. data/.standard.yml +1 -0
  12. data/CHANGELOG.md +38 -0
  13. data/Gemfile +1 -1
  14. data/Gemfile.lock +93 -47
  15. data/README.md +162 -14
  16. data/Rakefile +8 -4
  17. data/docs/V7_MIGRATION_GUIDE.md +780 -0
  18. data/lib/workos/actions.rb +93 -0
  19. data/lib/workos/admin_portal/generate_link.rb +34 -0
  20. data/lib/workos/admin_portal/intent_options.rb +18 -0
  21. data/lib/workos/admin_portal/portal_link_response.rb +18 -0
  22. data/lib/workos/admin_portal/sso_intent_options.rb +22 -0
  23. data/lib/workos/admin_portal.rb +51 -0
  24. data/lib/workos/api_keys/api_key.rb +43 -0
  25. data/lib/workos/api_keys/api_key_created.rb +34 -0
  26. data/lib/workos/api_keys/api_key_created_data.rb +43 -0
  27. data/lib/workos/api_keys/api_key_created_data_owner.rb +22 -0
  28. data/lib/workos/api_keys/api_key_owner.rb +7 -0
  29. data/lib/workos/api_keys/api_key_revoked.rb +34 -0
  30. data/lib/workos/api_keys/api_key_revoked_data.rb +7 -0
  31. data/lib/workos/api_keys/api_key_revoked_data_owner.rb +7 -0
  32. data/lib/workos/api_keys/api_key_validation_response.rb +18 -0
  33. data/lib/workos/api_keys/api_key_with_value.rb +46 -0
  34. data/lib/workos/api_keys/api_key_with_value_owner.rb +7 -0
  35. data/lib/workos/api_keys/create_organization_api_key.rb +22 -0
  36. data/lib/workos/api_keys/validate_api_key.rb +18 -0
  37. data/lib/workos/api_keys.rb +128 -0
  38. data/lib/workos/audit_logs/audit_log_action.rb +36 -0
  39. data/lib/workos/audit_logs/audit_log_action_json.rb +31 -0
  40. data/lib/workos/audit_logs/audit_log_event.rb +37 -0
  41. data/lib/workos/audit_logs/audit_log_event_actor.rb +28 -0
  42. data/lib/workos/audit_logs/audit_log_event_context.rb +22 -0
  43. data/lib/workos/audit_logs/audit_log_event_create_response.rb +18 -0
  44. data/lib/workos/audit_logs/audit_log_event_ingestion.rb +22 -0
  45. data/lib/workos/audit_logs/audit_log_event_target.rb +7 -0
  46. data/lib/workos/audit_logs/audit_log_export.rb +39 -0
  47. data/lib/workos/audit_logs/audit_log_export_creation.rb +49 -0
  48. data/lib/workos/audit_logs/audit_log_export_json.rb +34 -0
  49. data/lib/workos/audit_logs/audit_log_schema.rb +25 -0
  50. data/lib/workos/audit_logs/audit_log_schema_actor.rb +18 -0
  51. data/lib/workos/audit_logs/audit_log_schema_json.rb +34 -0
  52. data/lib/workos/audit_logs/audit_log_schema_json_actor.rb +7 -0
  53. data/lib/workos/audit_logs/audit_log_schema_json_target.rb +22 -0
  54. data/lib/workos/audit_logs/audit_log_schema_target.rb +7 -0
  55. data/lib/workos/audit_logs.rb +252 -72
  56. data/lib/workos/authorization/add_role_permission.rb +18 -0
  57. data/lib/workos/authorization/assign_role.rb +28 -0
  58. data/lib/workos/authorization/authorization_check.rb +18 -0
  59. data/lib/workos/authorization/authorization_permission.rb +43 -0
  60. data/lib/workos/authorization/authorization_resource.rb +46 -0
  61. data/lib/workos/authorization/check_authorization.rb +28 -0
  62. data/lib/workos/authorization/create_authorization_permission.rb +28 -0
  63. data/lib/workos/authorization/create_authorization_resource.rb +40 -0
  64. data/lib/workos/authorization/create_organization_role.rb +28 -0
  65. data/lib/workos/authorization/create_role.rb +7 -0
  66. data/lib/workos/authorization/permission.rb +7 -0
  67. data/lib/workos/authorization/permission_created.rb +34 -0
  68. data/lib/workos/authorization/permission_created_data.rb +40 -0
  69. data/lib/workos/authorization/permission_deleted.rb +34 -0
  70. data/lib/workos/authorization/permission_deleted_data.rb +7 -0
  71. data/lib/workos/authorization/permission_updated.rb +34 -0
  72. data/lib/workos/authorization/permission_updated_data.rb +7 -0
  73. data/lib/workos/authorization/remove_role.rb +7 -0
  74. data/lib/workos/authorization/role.rb +46 -0
  75. data/lib/workos/authorization/role_assignment.rb +34 -0
  76. data/lib/workos/authorization/role_assignment_resource.rb +25 -0
  77. data/lib/workos/authorization/role_created.rb +34 -0
  78. data/lib/workos/authorization/role_created_data.rb +34 -0
  79. data/lib/workos/authorization/role_deleted.rb +34 -0
  80. data/lib/workos/authorization/role_deleted_data.rb +7 -0
  81. data/lib/workos/authorization/role_list.rb +22 -0
  82. data/lib/workos/authorization/role_updated.rb +34 -0
  83. data/lib/workos/authorization/role_updated_data.rb +7 -0
  84. data/lib/workos/authorization/set_role_permissions.rb +18 -0
  85. data/lib/workos/authorization/slim_role.rb +7 -0
  86. data/lib/workos/authorization/update_authorization_permission.rb +22 -0
  87. data/lib/workos/authorization/update_authorization_resource.rb +31 -0
  88. data/lib/workos/authorization/update_organization_role.rb +7 -0
  89. data/lib/workos/authorization/update_role.rb +7 -0
  90. data/lib/workos/authorization/user_organization_membership_base_list_data.rb +46 -0
  91. data/lib/workos/authorization.rb +1289 -0
  92. data/lib/workos/base_client.rb +350 -0
  93. data/lib/workos/client.rb +94 -159
  94. data/lib/workos/configuration.rb +56 -5
  95. data/lib/workos/connect/application_credentials_list_item.rb +34 -0
  96. data/lib/workos/connect/connect_application.rb +46 -0
  97. data/lib/workos/connect/create_application_secret.rb +13 -0
  98. data/lib/workos/connect/create_m2m_application.rb +31 -0
  99. data/lib/workos/connect/create_oauth_application.rb +40 -0
  100. data/lib/workos/connect/external_auth_complete_response.rb +18 -0
  101. data/lib/workos/connect/new_connect_application_secret.rb +37 -0
  102. data/lib/workos/connect/redirect_uri_input.rb +22 -0
  103. data/lib/workos/connect/update_oauth_application.rb +28 -0
  104. data/lib/workos/connect/user_consent_option.rb +28 -0
  105. data/lib/workos/connect/user_consent_option_choice.rb +22 -0
  106. data/lib/workos/connect/user_management_login_request.rb +25 -0
  107. data/lib/workos/connect/user_object.rb +31 -0
  108. data/lib/workos/connect.rb +329 -0
  109. data/lib/workos/directory_sync/directory.rb +49 -0
  110. data/lib/workos/directory_sync/directory_group.rb +43 -0
  111. data/lib/workos/directory_sync/directory_metadata.rb +22 -0
  112. data/lib/workos/directory_sync/directory_metadata_user.rb +22 -0
  113. data/lib/workos/directory_sync/directory_user.rb +103 -0
  114. data/lib/workos/directory_sync/directory_user_email.rb +25 -0
  115. data/lib/workos/directory_sync/directory_user_with_groups.rb +106 -0
  116. data/lib/workos/directory_sync/directory_user_with_groups_email.rb +7 -0
  117. data/lib/workos/directory_sync/dsync_activated.rb +34 -0
  118. data/lib/workos/directory_sync/dsync_activated_data.rb +46 -0
  119. data/lib/workos/directory_sync/dsync_activated_data_domain.rb +25 -0
  120. data/lib/workos/directory_sync/dsync_deactivated.rb +34 -0
  121. data/lib/workos/directory_sync/dsync_deactivated_data.rb +46 -0
  122. data/lib/workos/directory_sync/dsync_deactivated_data_domain.rb +7 -0
  123. data/lib/workos/directory_sync/dsync_deleted.rb +34 -0
  124. data/lib/workos/directory_sync/dsync_deleted_data.rb +40 -0
  125. data/lib/workos/directory_sync/dsync_group_created.rb +34 -0
  126. data/lib/workos/directory_sync/dsync_group_deleted.rb +34 -0
  127. data/lib/workos/directory_sync/dsync_group_updated.rb +34 -0
  128. data/lib/workos/directory_sync/dsync_group_updated_data.rb +46 -0
  129. data/lib/workos/directory_sync/dsync_group_user_added.rb +34 -0
  130. data/lib/workos/directory_sync/dsync_group_user_added_data.rb +25 -0
  131. data/lib/workos/directory_sync/dsync_group_user_removed.rb +34 -0
  132. data/lib/workos/directory_sync/dsync_group_user_removed_data.rb +7 -0
  133. data/lib/workos/directory_sync/dsync_user_created.rb +34 -0
  134. data/lib/workos/directory_sync/dsync_user_deleted.rb +34 -0
  135. data/lib/workos/directory_sync/dsync_user_updated.rb +34 -0
  136. data/lib/workos/directory_sync/dsync_user_updated_data.rb +106 -0
  137. data/lib/workos/directory_sync/dsync_user_updated_data_email.rb +7 -0
  138. data/lib/workos/directory_sync.rb +230 -181
  139. data/lib/workos/encryptors/aes_gcm.rb +40 -33
  140. data/lib/workos/encryptors.rb +3 -3
  141. data/lib/workos/errors.rb +17 -75
  142. data/lib/workos/events/event_list_list_metadata.rb +18 -0
  143. data/lib/workos/events/event_schema.rb +34 -0
  144. data/lib/workos/events.rb +64 -38
  145. data/lib/workos/feature_flags/feature_flag.rb +49 -0
  146. data/lib/workos/feature_flags/feature_flag_owner.rb +25 -0
  147. data/lib/workos/feature_flags/flag.rb +7 -0
  148. data/lib/workos/feature_flags/flag_created.rb +34 -0
  149. data/lib/workos/feature_flags/flag_created_context.rb +22 -0
  150. data/lib/workos/feature_flags/flag_created_context_actor.rb +25 -0
  151. data/lib/workos/feature_flags/flag_created_data.rb +52 -0
  152. data/lib/workos/feature_flags/flag_created_data_owner.rb +7 -0
  153. data/lib/workos/feature_flags/flag_deleted.rb +34 -0
  154. data/lib/workos/feature_flags/flag_deleted_context.rb +22 -0
  155. data/lib/workos/feature_flags/flag_deleted_context_actor.rb +25 -0
  156. data/lib/workos/feature_flags/flag_deleted_data.rb +7 -0
  157. data/lib/workos/feature_flags/flag_deleted_data_owner.rb +7 -0
  158. data/lib/workos/feature_flags/flag_owner.rb +7 -0
  159. data/lib/workos/feature_flags/flag_rule_updated.rb +34 -0
  160. data/lib/workos/feature_flags/flag_rule_updated_context.rb +31 -0
  161. data/lib/workos/feature_flags/flag_rule_updated_context_actor.rb +25 -0
  162. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target.rb +22 -0
  163. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +22 -0
  164. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_user.rb +22 -0
  165. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute.rb +22 -0
  166. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context.rb +22 -0
  167. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target.rb +7 -0
  168. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +7 -0
  169. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_user.rb +7 -0
  170. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_data.rb +22 -0
  171. data/lib/workos/feature_flags/flag_rule_updated_data.rb +7 -0
  172. data/lib/workos/feature_flags/flag_rule_updated_data_owner.rb +7 -0
  173. data/lib/workos/feature_flags/flag_updated.rb +34 -0
  174. data/lib/workos/feature_flags/flag_updated_context.rb +25 -0
  175. data/lib/workos/feature_flags/flag_updated_context_actor.rb +25 -0
  176. data/lib/workos/feature_flags/flag_updated_context_previous_attribute.rb +18 -0
  177. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +31 -0
  178. data/lib/workos/feature_flags/flag_updated_data.rb +7 -0
  179. data/lib/workos/feature_flags/flag_updated_data_owner.rb +7 -0
  180. data/lib/workos/feature_flags.rb +246 -0
  181. data/lib/workos/hash_provider.rb +34 -8
  182. data/lib/workos/inflections.rb +64 -0
  183. data/lib/workos/multi_factor_auth/authentication_challenge.rb +37 -0
  184. data/lib/workos/multi_factor_auth/authentication_challenge_verify_response.rb +22 -0
  185. data/lib/workos/multi_factor_auth/authentication_challenges_verify_request.rb +18 -0
  186. data/lib/workos/multi_factor_auth/authentication_factor.rb +40 -0
  187. data/lib/workos/multi_factor_auth/authentication_factor_enrolled.rb +40 -0
  188. data/lib/workos/multi_factor_auth/authentication_factor_enrolled_sms.rb +18 -0
  189. data/lib/workos/multi_factor_auth/authentication_factor_enrolled_totp.rb +31 -0
  190. data/lib/workos/multi_factor_auth/authentication_factor_sms.rb +7 -0
  191. data/lib/workos/multi_factor_auth/authentication_factor_totp.rb +22 -0
  192. data/lib/workos/multi_factor_auth/authentication_factors_create_request.rb +31 -0
  193. data/lib/workos/multi_factor_auth/challenge_authentication_factor.rb +18 -0
  194. data/lib/workos/multi_factor_auth/enroll_user_authentication_factor.rb +28 -0
  195. data/lib/workos/multi_factor_auth/user_authentication_factor_enroll_response.rb +22 -0
  196. data/lib/workos/multi_factor_auth.rb +215 -0
  197. data/lib/workos/organization_domains/create_organization_domain.rb +22 -0
  198. data/lib/workos/organization_domains/organization_domain.rb +46 -0
  199. data/lib/workos/organization_domains/organization_domain_created.rb +34 -0
  200. data/lib/workos/organization_domains/organization_domain_created_data.rb +46 -0
  201. data/lib/workos/organization_domains/organization_domain_deleted.rb +34 -0
  202. data/lib/workos/organization_domains/organization_domain_deleted_data.rb +46 -0
  203. data/lib/workos/organization_domains/organization_domain_stand_alone.rb +46 -0
  204. data/lib/workos/organization_domains/organization_domain_updated.rb +34 -0
  205. data/lib/workos/organization_domains/organization_domain_updated_data.rb +46 -0
  206. data/lib/workos/organization_domains/organization_domain_verification_failed.rb +34 -0
  207. data/lib/workos/organization_domains/organization_domain_verification_failed_data.rb +22 -0
  208. data/lib/workos/organization_domains/organization_domain_verification_failed_data_organization_domain.rb +46 -0
  209. data/lib/workos/organization_domains/organization_domain_verified.rb +34 -0
  210. data/lib/workos/organization_domains/organization_domain_verified_data.rb +46 -0
  211. data/lib/workos/organization_domains.rb +94 -0
  212. data/lib/workos/organizations/audit_log_configuration.rb +28 -0
  213. data/lib/workos/organizations/audit_log_configuration_log_stream.rb +31 -0
  214. data/lib/workos/organizations/audit_logs_retention.rb +23 -0
  215. data/lib/workos/organizations/audit_logs_retention_json.rb +18 -0
  216. data/lib/workos/organizations/organization.rb +55 -0
  217. data/lib/workos/organizations/organization_created.rb +34 -0
  218. data/lib/workos/organizations/organization_created_data.rb +43 -0
  219. data/lib/workos/organizations/organization_created_data_domain.rb +46 -0
  220. data/lib/workos/organizations/organization_deleted.rb +34 -0
  221. data/lib/workos/organizations/organization_deleted_data.rb +43 -0
  222. data/lib/workos/organizations/organization_deleted_data_domain.rb +46 -0
  223. data/lib/workos/organizations/organization_domain_data.rb +22 -0
  224. data/lib/workos/organizations/organization_input.rb +34 -0
  225. data/lib/workos/organizations/organization_membership_created.rb +34 -0
  226. data/lib/workos/organizations/organization_membership_created_data.rb +49 -0
  227. data/lib/workos/organizations/organization_membership_deleted.rb +34 -0
  228. data/lib/workos/organizations/organization_membership_deleted_data.rb +49 -0
  229. data/lib/workos/organizations/organization_membership_updated.rb +34 -0
  230. data/lib/workos/organizations/organization_membership_updated_data.rb +49 -0
  231. data/lib/workos/organizations/organization_role_created.rb +34 -0
  232. data/lib/workos/organizations/organization_role_created_data.rb +43 -0
  233. data/lib/workos/organizations/organization_role_deleted.rb +34 -0
  234. data/lib/workos/organizations/organization_role_deleted_data.rb +7 -0
  235. data/lib/workos/organizations/organization_role_updated.rb +34 -0
  236. data/lib/workos/organizations/organization_role_updated_data.rb +7 -0
  237. data/lib/workos/organizations/organization_updated.rb +34 -0
  238. data/lib/workos/organizations/organization_updated_data.rb +43 -0
  239. data/lib/workos/organizations/organization_updated_data_domain.rb +46 -0
  240. data/lib/workos/organizations/update_audit_logs_retention.rb +18 -0
  241. data/lib/workos/organizations/update_organization.rb +46 -0
  242. data/lib/workos/organizations.rb +203 -271
  243. data/lib/workos/passwordless.rb +63 -58
  244. data/lib/workos/pipes/connected_account.rb +40 -0
  245. data/lib/workos/pipes/data_integration_access_token_response.rb +25 -0
  246. data/lib/workos/pipes/data_integration_access_token_response_access_token.rb +31 -0
  247. data/lib/workos/pipes/data_integration_authorize_url_response.rb +18 -0
  248. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +25 -0
  249. data/lib/workos/pipes/data_integrations_get_user_token_request.rb +22 -0
  250. data/lib/workos/pipes/data_integrations_list_response.rb +22 -0
  251. data/lib/workos/pipes/data_integrations_list_response_data.rb +52 -0
  252. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +52 -0
  253. data/lib/workos/pipes.rb +149 -0
  254. data/lib/workos/pkce.rb +42 -0
  255. data/lib/workos/public_client.rb +27 -0
  256. data/lib/workos/radar/radar_list_entry_already_present_response.rb +18 -0
  257. data/lib/workos/radar/radar_standalone_assess_request.rb +37 -0
  258. data/lib/workos/radar/radar_standalone_delete_radar_list_entry_request.rb +18 -0
  259. data/lib/workos/radar/radar_standalone_response.rb +31 -0
  260. data/lib/workos/radar/radar_standalone_update_radar_attempt_request.rb +22 -0
  261. data/lib/workos/radar/radar_standalone_update_radar_list_request.rb +7 -0
  262. data/lib/workos/radar.rb +132 -0
  263. data/lib/workos/session.rb +108 -160
  264. data/lib/workos/session_manager.rb +196 -0
  265. data/lib/workos/shared/event_context.rb +34 -0
  266. data/lib/workos/shared/event_context_actor.rb +25 -0
  267. data/lib/workos/shared/event_context_google_analytics_session.rb +25 -0
  268. data/lib/workos/shared/group.rb +37 -0
  269. data/lib/workos/shared/group_created.rb +34 -0
  270. data/lib/workos/shared/group_deleted.rb +34 -0
  271. data/lib/workos/shared/group_member_added.rb +34 -0
  272. data/lib/workos/shared/group_member_added_data.rb +22 -0
  273. data/lib/workos/shared/group_member_removed.rb +34 -0
  274. data/lib/workos/shared/group_member_removed_data.rb +7 -0
  275. data/lib/workos/shared/group_updated.rb +34 -0
  276. data/lib/workos/sso/connection.rb +58 -0
  277. data/lib/workos/sso/connection_activated.rb +34 -0
  278. data/lib/workos/sso/connection_activated_data.rb +49 -0
  279. data/lib/workos/sso/connection_activated_data_domain.rb +25 -0
  280. data/lib/workos/sso/connection_deactivated.rb +34 -0
  281. data/lib/workos/sso/connection_deactivated_data.rb +49 -0
  282. data/lib/workos/sso/connection_deactivated_data_domain.rb +7 -0
  283. data/lib/workos/sso/connection_deleted.rb +34 -0
  284. data/lib/workos/sso/connection_deleted_data.rb +40 -0
  285. data/lib/workos/sso/connection_domain.rb +7 -0
  286. data/lib/workos/sso/connection_option.rb +18 -0
  287. data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +34 -0
  288. data/lib/workos/sso/connection_saml_certificate_renewal_required_data.rb +25 -0
  289. data/lib/workos/sso/connection_saml_certificate_renewal_required_data_certificate.rb +25 -0
  290. data/lib/workos/sso/connection_saml_certificate_renewal_required_data_connection.rb +22 -0
  291. data/lib/workos/sso/connection_saml_certificate_renewed.rb +34 -0
  292. data/lib/workos/sso/connection_saml_certificate_renewed_data.rb +25 -0
  293. data/lib/workos/sso/connection_saml_certificate_renewed_data_certificate.rb +22 -0
  294. data/lib/workos/sso/connection_saml_certificate_renewed_data_connection.rb +7 -0
  295. data/lib/workos/sso/profile.rb +58 -0
  296. data/lib/workos/sso/sso_authorize_url_response.rb +18 -0
  297. data/lib/workos/sso/sso_logout_authorize_request.rb +18 -0
  298. data/lib/workos/sso/sso_logout_authorize_response.rb +22 -0
  299. data/lib/workos/sso/sso_token_response.rb +31 -0
  300. data/lib/workos/sso/sso_token_response_oauth_token.rb +7 -0
  301. data/lib/workos/sso/token_query.rb +28 -0
  302. data/lib/workos/sso.rb +231 -212
  303. data/lib/workos/types/api_response.rb +10 -0
  304. data/lib/workos/types/applications_order.rb +14 -0
  305. data/lib/workos/types/audit_log_configuration_log_stream_state.rb +15 -0
  306. data/lib/workos/types/audit_log_configuration_log_stream_type.rb +17 -0
  307. data/lib/workos/types/audit_log_configuration_state.rb +14 -0
  308. data/lib/workos/types/audit_log_export_json_state.rb +14 -0
  309. data/lib/workos/types/audit_log_export_state.rb +14 -0
  310. data/lib/workos/types/audit_logs_order.rb +9 -0
  311. data/lib/workos/types/authenticate_response_authentication_method.rb +33 -0
  312. data/lib/workos/types/authentication_factor_enrolled_type.rb +15 -0
  313. data/lib/workos/types/authentication_factor_type.rb +9 -0
  314. data/lib/workos/types/authentication_factors_create_request_type.rb +14 -0
  315. data/lib/workos/types/authentication_radar_risk_detected_data_action.rb +13 -0
  316. data/lib/workos/types/authorization_assignment.rb +13 -0
  317. data/lib/workos/types/authorization_order.rb +9 -0
  318. data/lib/workos/types/base_model.rb +35 -0
  319. data/lib/workos/types/connected_account_state.rb +14 -0
  320. data/lib/workos/types/connection_activated_data_connection_type.rb +61 -0
  321. data/lib/workos/types/connection_activated_data_state.rb +16 -0
  322. data/lib/workos/types/connection_activated_data_status.rb +13 -0
  323. data/lib/workos/types/connection_deactivated_data_connection_type.rb +9 -0
  324. data/lib/workos/types/connection_deactivated_data_state.rb +9 -0
  325. data/lib/workos/types/connection_deactivated_data_status.rb +9 -0
  326. data/lib/workos/types/connection_deleted_data_connection_type.rb +9 -0
  327. data/lib/workos/types/connection_deleted_data_state.rb +9 -0
  328. data/lib/workos/types/connection_saml_certificate_renewal_required_data_certificate_certificate_type.rb +14 -0
  329. data/lib/workos/types/connection_saml_certificate_renewed_data_certificate_certificate_type.rb +9 -0
  330. data/lib/workos/types/connection_state.rb +17 -0
  331. data/lib/workos/types/connection_status.rb +9 -0
  332. data/lib/workos/types/connection_type.rb +62 -0
  333. data/lib/workos/types/connections_connection_type.rb +59 -0
  334. data/lib/workos/types/connections_order.rb +9 -0
  335. data/lib/workos/types/create_user_invite_options_locale.rb +101 -0
  336. data/lib/workos/types/create_user_password_hash_type.rb +17 -0
  337. data/lib/workos/types/create_webhook_endpoint_events.rb +85 -0
  338. data/lib/workos/types/data_integration_access_token_response_error.rb +13 -0
  339. data/lib/workos/types/data_integrations_list_response_data_connected_account_state.rb +9 -0
  340. data/lib/workos/types/data_integrations_list_response_data_ownership.rb +13 -0
  341. data/lib/workos/types/directories_order.rb +9 -0
  342. data/lib/workos/types/directory_groups_order.rb +9 -0
  343. data/lib/workos/types/directory_state.rb +16 -0
  344. data/lib/workos/types/directory_type.rb +32 -0
  345. data/lib/workos/types/directory_user_state.rb +14 -0
  346. data/lib/workos/types/directory_user_with_groups_state.rb +9 -0
  347. data/lib/workos/types/directory_users_order.rb +9 -0
  348. data/lib/workos/types/dsync_activated_data_state.rb +16 -0
  349. data/lib/workos/types/dsync_activated_data_type.rb +34 -0
  350. data/lib/workos/types/dsync_deactivated_data_state.rb +9 -0
  351. data/lib/workos/types/dsync_deactivated_data_type.rb +9 -0
  352. data/lib/workos/types/dsync_deleted_data_state.rb +9 -0
  353. data/lib/workos/types/dsync_deleted_data_type.rb +9 -0
  354. data/lib/workos/types/dsync_user_updated_data_state.rb +9 -0
  355. data/lib/workos/types/event_context_actor_source.rb +14 -0
  356. data/lib/workos/types/events_order.rb +9 -0
  357. data/lib/workos/types/feature_flags_order.rb +9 -0
  358. data/lib/workos/types/flag_created_context_actor_source.rb +9 -0
  359. data/lib/workos/types/flag_deleted_context_actor_source.rb +9 -0
  360. data/lib/workos/types/flag_rule_updated_context_access_type.rb +14 -0
  361. data/lib/workos/types/flag_rule_updated_context_actor_source.rb +9 -0
  362. data/lib/workos/types/flag_rule_updated_context_previous_attribute_context_access_type.rb +9 -0
  363. data/lib/workos/types/flag_updated_context_actor_source.rb +9 -0
  364. data/lib/workos/types/generate_link_intent.rb +18 -0
  365. data/lib/workos/types/invitation_accepted_data_state.rb +15 -0
  366. data/lib/workos/types/invitation_created_data_state.rb +9 -0
  367. data/lib/workos/types/invitation_resent_data_state.rb +9 -0
  368. data/lib/workos/types/invitation_revoked_data_state.rb +9 -0
  369. data/lib/workos/types/invitation_state.rb +9 -0
  370. data/lib/workos/types/list_struct.rb +122 -6
  371. data/lib/workos/types/organization_created_data_domain_state.rb +16 -0
  372. data/lib/workos/types/organization_created_data_domain_verification_strategy.rb +13 -0
  373. data/lib/workos/types/organization_deleted_data_domain_state.rb +9 -0
  374. data/lib/workos/types/organization_deleted_data_domain_verification_strategy.rb +9 -0
  375. data/lib/workos/types/organization_domain_created_data_state.rb +9 -0
  376. data/lib/workos/types/organization_domain_created_data_verification_strategy.rb +9 -0
  377. data/lib/workos/types/organization_domain_data_state.rb +13 -0
  378. data/lib/workos/types/organization_domain_deleted_data_state.rb +9 -0
  379. data/lib/workos/types/organization_domain_deleted_data_verification_strategy.rb +9 -0
  380. data/lib/workos/types/organization_domain_stand_alone_state.rb +9 -0
  381. data/lib/workos/types/organization_domain_stand_alone_verification_strategy.rb +9 -0
  382. data/lib/workos/types/organization_domain_state.rb +9 -0
  383. data/lib/workos/types/organization_domain_updated_data_state.rb +9 -0
  384. data/lib/workos/types/organization_domain_updated_data_verification_strategy.rb +9 -0
  385. data/lib/workos/types/organization_domain_verification_failed_data_organization_domain_state.rb +9 -0
  386. data/lib/workos/types/organization_domain_verification_failed_data_organization_domain_verification_strategy.rb +9 -0
  387. data/lib/workos/types/organization_domain_verification_failed_data_reason.rb +13 -0
  388. data/lib/workos/types/organization_domain_verification_strategy.rb +9 -0
  389. data/lib/workos/types/organization_domain_verified_data_state.rb +9 -0
  390. data/lib/workos/types/organization_domain_verified_data_verification_strategy.rb +9 -0
  391. data/lib/workos/types/organization_membership_created_data_status.rb +14 -0
  392. data/lib/workos/types/organization_membership_deleted_data_status.rb +9 -0
  393. data/lib/workos/types/organization_membership_status.rb +9 -0
  394. data/lib/workos/types/organization_membership_updated_data_status.rb +9 -0
  395. data/lib/workos/types/organization_updated_data_domain_state.rb +9 -0
  396. data/lib/workos/types/organization_updated_data_domain_verification_strategy.rb +9 -0
  397. data/lib/workos/types/organizations_api_keys_order.rb +9 -0
  398. data/lib/workos/types/organizations_feature_flags_order.rb +9 -0
  399. data/lib/workos/types/organizations_order.rb +9 -0
  400. data/lib/workos/types/permissions_order.rb +9 -0
  401. data/lib/workos/types/profile_connection_type.rb +9 -0
  402. data/lib/workos/types/radar_action.rb +13 -0
  403. data/lib/workos/types/radar_standalone_assess_request_action.rb +19 -0
  404. data/lib/workos/types/radar_standalone_assess_request_auth_method.rb +19 -0
  405. data/lib/workos/types/radar_standalone_response_blocklist_type.rb +18 -0
  406. data/lib/workos/types/radar_standalone_response_control.rb +21 -0
  407. data/lib/workos/types/radar_standalone_response_verdict.rb +14 -0
  408. data/lib/workos/types/radar_type.rb +9 -0
  409. data/lib/workos/types/request_options.rb +33 -0
  410. data/lib/workos/types/resend_user_invite_options_locale.rb +9 -0
  411. data/lib/workos/types/role_type.rb +13 -0
  412. data/lib/workos/types/session_created_data_auth_method.rb +21 -0
  413. data/lib/workos/types/session_created_data_status.rb +14 -0
  414. data/lib/workos/types/session_revoked_data_auth_method.rb +9 -0
  415. data/lib/workos/types/session_revoked_data_status.rb +9 -0
  416. data/lib/workos/types/sso_provider.rb +15 -0
  417. data/lib/workos/types/update_user_password_hash_type.rb +9 -0
  418. data/lib/workos/types/update_webhook_endpoint_events.rb +9 -0
  419. data/lib/workos/types/update_webhook_endpoint_status.rb +13 -0
  420. data/lib/workos/types/user_identities_get_item_provider.rb +25 -0
  421. data/lib/workos/types/user_invite_state.rb +9 -0
  422. data/lib/workos/types/user_management_authentication_provider.rb +16 -0
  423. data/lib/workos/types/user_management_authentication_screen_hint.rb +13 -0
  424. data/lib/workos/types/user_management_invitations_order.rb +9 -0
  425. data/lib/workos/types/user_management_multi_factor_authentication_order.rb +9 -0
  426. data/lib/workos/types/user_management_organization_membership_order.rb +9 -0
  427. data/lib/workos/types/user_management_organization_membership_statuses.rb +9 -0
  428. data/lib/workos/types/user_management_users_authorized_applications_order.rb +9 -0
  429. data/lib/workos/types/user_management_users_feature_flags_order.rb +9 -0
  430. data/lib/workos/types/user_management_users_order.rb +9 -0
  431. data/lib/workos/types/user_organization_membership_base_list_data_status.rb +9 -0
  432. data/lib/workos/types/user_organization_membership_status.rb +9 -0
  433. data/lib/workos/types/user_sessions_auth_method.rb +9 -0
  434. data/lib/workos/types/user_sessions_status.rb +9 -0
  435. data/lib/workos/types/vault_byok_key_verification_completed_data_key_provider.rb +14 -0
  436. data/lib/workos/types/vault_data_created_data_actor_source.rb +13 -0
  437. data/lib/workos/types/vault_data_deleted_data_actor_source.rb +9 -0
  438. data/lib/workos/types/vault_data_read_data_actor_source.rb +9 -0
  439. data/lib/workos/types/vault_data_updated_data_actor_source.rb +9 -0
  440. data/lib/workos/types/vault_dek_decrypted_data_actor_source.rb +9 -0
  441. data/lib/workos/types/vault_dek_read_data_actor_source.rb +9 -0
  442. data/lib/workos/types/vault_kek_created_data_actor_source.rb +9 -0
  443. data/lib/workos/types/vault_metadata_read_data_actor_source.rb +9 -0
  444. data/lib/workos/types/vault_names_listed_data_actor_source.rb +9 -0
  445. data/lib/workos/types/webhook_endpoint_json_status.rb +9 -0
  446. data/lib/workos/types/webhook_endpoint_status.rb +13 -0
  447. data/lib/workos/types/webhooks_order.rb +9 -0
  448. data/lib/workos/types/widget_session_token_scopes.rb +17 -0
  449. data/lib/workos/user_management/action_authentication_denied.rb +34 -0
  450. data/lib/workos/user_management/action_authentication_denied_data.rb +43 -0
  451. data/lib/workos/user_management/action_user_registration_denied.rb +34 -0
  452. data/lib/workos/user_management/action_user_registration_denied_data.rb +40 -0
  453. data/lib/workos/user_management/authenticate_response.rb +40 -0
  454. data/lib/workos/user_management/authenticate_response_impersonator.rb +22 -0
  455. data/lib/workos/user_management/authenticate_response_oauth_token.rb +31 -0
  456. data/lib/workos/user_management/authentication_email_verification_failed.rb +34 -0
  457. data/lib/workos/user_management/authentication_email_verification_failed_data.rb +37 -0
  458. data/lib/workos/user_management/authentication_email_verification_failed_data_error.rb +22 -0
  459. data/lib/workos/user_management/authentication_email_verification_succeeded.rb +34 -0
  460. data/lib/workos/user_management/authentication_email_verification_succeeded_data.rb +34 -0
  461. data/lib/workos/user_management/authentication_magic_auth_failed.rb +34 -0
  462. data/lib/workos/user_management/authentication_magic_auth_failed_data.rb +37 -0
  463. data/lib/workos/user_management/authentication_magic_auth_failed_data_error.rb +7 -0
  464. data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +34 -0
  465. data/lib/workos/user_management/authentication_magic_auth_succeeded_data.rb +34 -0
  466. data/lib/workos/user_management/authentication_mfa_failed.rb +34 -0
  467. data/lib/workos/user_management/authentication_mfa_failed_data.rb +37 -0
  468. data/lib/workos/user_management/authentication_mfa_failed_data_error.rb +7 -0
  469. data/lib/workos/user_management/authentication_mfa_succeeded.rb +34 -0
  470. data/lib/workos/user_management/authentication_mfa_succeeded_data.rb +34 -0
  471. data/lib/workos/user_management/authentication_oauth_failed.rb +34 -0
  472. data/lib/workos/user_management/authentication_oauth_failed_data.rb +37 -0
  473. data/lib/workos/user_management/authentication_oauth_failed_data_error.rb +7 -0
  474. data/lib/workos/user_management/authentication_oauth_succeeded.rb +34 -0
  475. data/lib/workos/user_management/authentication_oauth_succeeded_data.rb +34 -0
  476. data/lib/workos/user_management/authentication_passkey_failed.rb +34 -0
  477. data/lib/workos/user_management/authentication_passkey_failed_data.rb +37 -0
  478. data/lib/workos/user_management/authentication_passkey_failed_data_error.rb +7 -0
  479. data/lib/workos/user_management/authentication_passkey_succeeded.rb +34 -0
  480. data/lib/workos/user_management/authentication_passkey_succeeded_data.rb +34 -0
  481. data/lib/workos/user_management/authentication_password_failed.rb +34 -0
  482. data/lib/workos/user_management/authentication_password_failed_data.rb +37 -0
  483. data/lib/workos/user_management/authentication_password_failed_data_error.rb +7 -0
  484. data/lib/workos/user_management/authentication_password_succeeded.rb +34 -0
  485. data/lib/workos/user_management/authentication_password_succeeded_data.rb +34 -0
  486. data/lib/workos/user_management/authentication_radar_risk_detected.rb +34 -0
  487. data/lib/workos/user_management/authentication_radar_risk_detected_data.rb +40 -0
  488. data/lib/workos/user_management/authentication_sso_failed.rb +34 -0
  489. data/lib/workos/user_management/authentication_sso_failed_data.rb +40 -0
  490. data/lib/workos/user_management/authentication_sso_failed_data_error.rb +7 -0
  491. data/lib/workos/user_management/authentication_sso_failed_data_sso.rb +25 -0
  492. data/lib/workos/user_management/authentication_sso_started.rb +34 -0
  493. data/lib/workos/user_management/authentication_sso_started_data.rb +37 -0
  494. data/lib/workos/user_management/authentication_sso_started_data_sso.rb +7 -0
  495. data/lib/workos/user_management/authentication_sso_succeeded.rb +34 -0
  496. data/lib/workos/user_management/authentication_sso_succeeded_data.rb +37 -0
  497. data/lib/workos/user_management/authentication_sso_succeeded_data_sso.rb +7 -0
  498. data/lib/workos/user_management/authentication_sso_timed_out.rb +34 -0
  499. data/lib/workos/user_management/authentication_sso_timed_out_data.rb +40 -0
  500. data/lib/workos/user_management/authentication_sso_timed_out_data_error.rb +7 -0
  501. data/lib/workos/user_management/authentication_sso_timed_out_data_sso.rb +7 -0
  502. data/lib/workos/user_management/authorization_code_session_authenticate_request.rb +43 -0
  503. data/lib/workos/user_management/authorized_connect_application_list_data.rb +31 -0
  504. data/lib/workos/user_management/confirm_email_change.rb +7 -0
  505. data/lib/workos/user_management/cors_origin_response.rb +31 -0
  506. data/lib/workos/user_management/create_cors_origin.rb +18 -0
  507. data/lib/workos/user_management/create_magic_code_and_return.rb +22 -0
  508. data/lib/workos/user_management/create_password_reset.rb +22 -0
  509. data/lib/workos/user_management/create_password_reset_token.rb +18 -0
  510. data/lib/workos/user_management/create_redirect_uri.rb +18 -0
  511. data/lib/workos/user_management/create_user.rb +43 -0
  512. data/lib/workos/user_management/create_user_invite_options.rb +34 -0
  513. data/lib/workos/user_management/create_user_organization_membership.rb +28 -0
  514. data/lib/workos/user_management/device_authorization_response.rb +34 -0
  515. data/lib/workos/user_management/device_code_session_authenticate_request.rb +34 -0
  516. data/lib/workos/user_management/email_change.rb +31 -0
  517. data/lib/workos/user_management/email_change_confirmation.rb +22 -0
  518. data/lib/workos/user_management/email_change_confirmation_user.rb +55 -0
  519. data/lib/workos/user_management/email_verification.rb +40 -0
  520. data/lib/workos/user_management/email_verification_code_session_authenticate_request.rb +40 -0
  521. data/lib/workos/user_management/email_verification_created.rb +34 -0
  522. data/lib/workos/user_management/email_verification_created_data.rb +37 -0
  523. data/lib/workos/user_management/invitation.rb +58 -0
  524. data/lib/workos/user_management/invitation_accepted.rb +34 -0
  525. data/lib/workos/user_management/invitation_accepted_data.rb +52 -0
  526. data/lib/workos/user_management/invitation_created.rb +34 -0
  527. data/lib/workos/user_management/invitation_created_data.rb +52 -0
  528. data/lib/workos/user_management/invitation_resent.rb +34 -0
  529. data/lib/workos/user_management/invitation_resent_data.rb +52 -0
  530. data/lib/workos/user_management/invitation_revoked.rb +34 -0
  531. data/lib/workos/user_management/invitation_revoked_data.rb +52 -0
  532. data/lib/workos/user_management/jwks_response.rb +18 -0
  533. data/lib/workos/user_management/jwks_response_keys.rb +40 -0
  534. data/lib/workos/user_management/jwt_template_response.rb +28 -0
  535. data/lib/workos/user_management/magic_auth.rb +40 -0
  536. data/lib/workos/user_management/magic_auth_code_session_authenticate_request.rb +43 -0
  537. data/lib/workos/user_management/magic_auth_created.rb +34 -0
  538. data/lib/workos/user_management/magic_auth_created_data.rb +37 -0
  539. data/lib/workos/user_management/mfa_totp_session_authenticate_request.rb +43 -0
  540. data/lib/workos/user_management/organization_membership.rb +49 -0
  541. data/lib/workos/user_management/organization_selection_session_authenticate_request.rb +40 -0
  542. data/lib/workos/user_management/password_reset.rb +40 -0
  543. data/lib/workos/user_management/password_reset_created.rb +34 -0
  544. data/lib/workos/user_management/password_reset_created_data.rb +34 -0
  545. data/lib/workos/user_management/password_reset_succeeded.rb +34 -0
  546. data/lib/workos/user_management/password_reset_succeeded_data.rb +7 -0
  547. data/lib/workos/user_management/password_session_authenticate_request.rb +43 -0
  548. data/lib/workos/user_management/redirect_uri.rb +34 -0
  549. data/lib/workos/user_management/refresh_token_session_authenticate_request.rb +40 -0
  550. data/lib/workos/user_management/resend_user_invite_options.rb +18 -0
  551. data/lib/workos/user_management/reset_password_response.rb +18 -0
  552. data/lib/workos/user_management/revoke_session.rb +22 -0
  553. data/lib/workos/user_management/send_email_change.rb +18 -0
  554. data/lib/workos/user_management/send_verification_email_response.rb +7 -0
  555. data/lib/workos/user_management/session_created.rb +34 -0
  556. data/lib/workos/user_management/session_created_data.rb +55 -0
  557. data/lib/workos/user_management/session_created_data_impersonator.rb +7 -0
  558. data/lib/workos/user_management/session_revoked.rb +34 -0
  559. data/lib/workos/user_management/session_revoked_data.rb +55 -0
  560. data/lib/workos/user_management/session_revoked_data_impersonator.rb +7 -0
  561. data/lib/workos/user_management/sso_device_authorization_request.rb +18 -0
  562. data/lib/workos/user_management/update_jwt_template.rb +18 -0
  563. data/lib/workos/user_management/update_user.rb +46 -0
  564. data/lib/workos/user_management/update_user_organization_membership.rb +22 -0
  565. data/lib/workos/user_management/urn_ietf_params_oauth_grant_type_device_code_session_authenticate_request.rb +8 -0
  566. data/lib/workos/user_management/urn_workos_oauth_grant_type_email_verification_code_session_authenticate_request.rb +8 -0
  567. data/lib/workos/user_management/urn_workos_oauth_grant_type_magic_auth_code_session_authenticate_request.rb +8 -0
  568. data/lib/workos/user_management/urn_workos_oauth_grant_type_mfa_totp_session_authenticate_request.rb +8 -0
  569. data/lib/workos/user_management/urn_workos_oauth_grant_type_organization_selection_session_authenticate_request.rb +8 -0
  570. data/lib/workos/user_management/user.rb +7 -0
  571. data/lib/workos/user_management/user_created.rb +34 -0
  572. data/lib/workos/user_management/user_deleted.rb +34 -0
  573. data/lib/workos/user_management/user_identities_get_item.rb +25 -0
  574. data/lib/workos/user_management/user_invite.rb +58 -0
  575. data/lib/workos/user_management/user_organization_membership.rb +49 -0
  576. data/lib/workos/user_management/user_sessions_impersonator.rb +7 -0
  577. data/lib/workos/user_management/user_sessions_list_item.rb +55 -0
  578. data/lib/workos/user_management/user_updated.rb +34 -0
  579. data/lib/workos/user_management/verify_email_address.rb +7 -0
  580. data/lib/workos/user_management/verify_email_response.rb +7 -0
  581. data/lib/workos/user_management.rb +1522 -1154
  582. data/lib/workos/util/signature.rb +55 -0
  583. data/lib/workos/util.rb +16 -0
  584. data/lib/workos/vault/vault_byok_key_verification_completed.rb +34 -0
  585. data/lib/workos/vault/vault_byok_key_verification_completed_data.rb +25 -0
  586. data/lib/workos/vault/vault_data_created.rb +34 -0
  587. data/lib/workos/vault/vault_data_created_data.rb +34 -0
  588. data/lib/workos/vault/vault_data_deleted.rb +34 -0
  589. data/lib/workos/vault/vault_data_deleted_data.rb +28 -0
  590. data/lib/workos/vault/vault_data_read.rb +34 -0
  591. data/lib/workos/vault/vault_data_read_data.rb +31 -0
  592. data/lib/workos/vault/vault_data_updated.rb +34 -0
  593. data/lib/workos/vault/vault_data_updated_data.rb +34 -0
  594. data/lib/workos/vault/vault_dek_decrypted.rb +34 -0
  595. data/lib/workos/vault/vault_dek_decrypted_data.rb +28 -0
  596. data/lib/workos/vault/vault_dek_read.rb +34 -0
  597. data/lib/workos/vault/vault_dek_read_data.rb +31 -0
  598. data/lib/workos/vault/vault_kek_created.rb +34 -0
  599. data/lib/workos/vault/vault_kek_created_data.rb +31 -0
  600. data/lib/workos/vault/vault_metadata_read.rb +34 -0
  601. data/lib/workos/vault/vault_metadata_read_data.rb +28 -0
  602. data/lib/workos/vault/vault_names_listed.rb +34 -0
  603. data/lib/workos/vault/vault_names_listed_data.rb +25 -0
  604. data/lib/workos/vault.rb +241 -0
  605. data/lib/workos/version.rb +2 -1
  606. data/lib/workos/webhook_event.rb +120 -0
  607. data/lib/workos/webhooks/create_webhook_endpoint.rb +22 -0
  608. data/lib/workos/webhooks/update_webhook_endpoint.rb +25 -0
  609. data/lib/workos/webhooks/webhook_endpoint.rb +45 -0
  610. data/lib/workos/webhooks/webhook_endpoint_json.rb +40 -0
  611. data/lib/workos/webhooks.rb +213 -159
  612. data/lib/workos/widgets/widget_session_token.rb +25 -0
  613. data/lib/workos/widgets/widget_session_token_response.rb +18 -0
  614. data/lib/workos/widgets.rb +34 -38
  615. data/lib/workos.rb +30 -96
  616. data/rbi/workos/action_authentication_denied.rbi +54 -0
  617. data/rbi/workos/action_authentication_denied_data.rbi +72 -0
  618. data/rbi/workos/action_user_registration_denied.rbi +54 -0
  619. data/rbi/workos/action_user_registration_denied_data.rbi +66 -0
  620. data/rbi/workos/actions.rbi +48 -0
  621. data/rbi/workos/add_role_permission.rbi +24 -0
  622. data/rbi/workos/admin_portal.rbi +26 -0
  623. data/rbi/workos/api_key.rbi +72 -0
  624. data/rbi/workos/api_key_created.rbi +54 -0
  625. data/rbi/workos/api_key_created_data.rbi +72 -0
  626. data/rbi/workos/api_key_created_data_owner.rbi +30 -0
  627. data/rbi/workos/api_key_owner.rbi +30 -0
  628. data/rbi/workos/api_key_revoked.rbi +54 -0
  629. data/rbi/workos/api_key_revoked_data.rbi +72 -0
  630. data/rbi/workos/api_key_revoked_data_owner.rbi +30 -0
  631. data/rbi/workos/api_key_validation_response.rbi +24 -0
  632. data/rbi/workos/api_key_with_value.rbi +78 -0
  633. data/rbi/workos/api_key_with_value_owner.rbi +30 -0
  634. data/rbi/workos/api_keys.rbi +51 -0
  635. data/rbi/workos/application_credentials_list_item.rbi +54 -0
  636. data/rbi/workos/assign_role.rbi +42 -0
  637. data/rbi/workos/audit_log_action.rbi +47 -0
  638. data/rbi/workos/audit_log_action_json.rbi +48 -0
  639. data/rbi/workos/audit_log_configuration.rbi +42 -0
  640. data/rbi/workos/audit_log_configuration_log_stream.rbi +48 -0
  641. data/rbi/workos/audit_log_event.rbi +60 -0
  642. data/rbi/workos/audit_log_event_actor.rbi +42 -0
  643. data/rbi/workos/audit_log_event_context.rbi +30 -0
  644. data/rbi/workos/audit_log_event_create_response.rbi +24 -0
  645. data/rbi/workos/audit_log_event_ingestion.rbi +30 -0
  646. data/rbi/workos/audit_log_event_target.rbi +42 -0
  647. data/rbi/workos/audit_log_export.rbi +53 -0
  648. data/rbi/workos/audit_log_export_creation.rbi +66 -0
  649. data/rbi/workos/audit_log_export_json.rbi +54 -0
  650. data/rbi/workos/audit_log_schema.rbi +36 -0
  651. data/rbi/workos/audit_log_schema_actor.rbi +24 -0
  652. data/rbi/workos/audit_log_schema_json.rbi +54 -0
  653. data/rbi/workos/audit_log_schema_json_actor.rbi +24 -0
  654. data/rbi/workos/audit_log_schema_json_target.rbi +30 -0
  655. data/rbi/workos/audit_log_schema_target.rbi +30 -0
  656. data/rbi/workos/audit_logs.rbi +96 -0
  657. data/rbi/workos/audit_logs_retention.rbi +23 -0
  658. data/rbi/workos/audit_logs_retention_json.rbi +24 -0
  659. data/rbi/workos/authenticate_response.rbi +66 -0
  660. data/rbi/workos/authenticate_response_impersonator.rbi +30 -0
  661. data/rbi/workos/authenticate_response_oauth_token.rbi +48 -0
  662. data/rbi/workos/authentication_challenge.rbi +60 -0
  663. data/rbi/workos/authentication_challenge_verify_response.rbi +30 -0
  664. data/rbi/workos/authentication_challenges_verify_request.rbi +24 -0
  665. data/rbi/workos/authentication_email_verification_failed.rbi +54 -0
  666. data/rbi/workos/authentication_email_verification_failed_data.rbi +60 -0
  667. data/rbi/workos/authentication_email_verification_failed_data_error.rbi +30 -0
  668. data/rbi/workos/authentication_email_verification_succeeded.rbi +54 -0
  669. data/rbi/workos/authentication_email_verification_succeeded_data.rbi +54 -0
  670. data/rbi/workos/authentication_factor.rbi +66 -0
  671. data/rbi/workos/authentication_factor_enrolled.rbi +66 -0
  672. data/rbi/workos/authentication_factor_enrolled_sms.rbi +24 -0
  673. data/rbi/workos/authentication_factor_enrolled_totp.rbi +48 -0
  674. data/rbi/workos/authentication_factor_sms.rbi +24 -0
  675. data/rbi/workos/authentication_factor_totp.rbi +30 -0
  676. data/rbi/workos/authentication_factors_create_request.rbi +48 -0
  677. data/rbi/workos/authentication_magic_auth_failed.rbi +54 -0
  678. data/rbi/workos/authentication_magic_auth_failed_data.rbi +60 -0
  679. data/rbi/workos/authentication_magic_auth_failed_data_error.rbi +30 -0
  680. data/rbi/workos/authentication_magic_auth_succeeded.rbi +54 -0
  681. data/rbi/workos/authentication_magic_auth_succeeded_data.rbi +54 -0
  682. data/rbi/workos/authentication_mfa_failed.rbi +54 -0
  683. data/rbi/workos/authentication_mfa_failed_data.rbi +60 -0
  684. data/rbi/workos/authentication_mfa_failed_data_error.rbi +30 -0
  685. data/rbi/workos/authentication_mfa_succeeded.rbi +54 -0
  686. data/rbi/workos/authentication_mfa_succeeded_data.rbi +54 -0
  687. data/rbi/workos/authentication_oauth_failed.rbi +54 -0
  688. data/rbi/workos/authentication_oauth_failed_data.rbi +60 -0
  689. data/rbi/workos/authentication_oauth_failed_data_error.rbi +30 -0
  690. data/rbi/workos/authentication_oauth_succeeded.rbi +54 -0
  691. data/rbi/workos/authentication_oauth_succeeded_data.rbi +54 -0
  692. data/rbi/workos/authentication_passkey_failed.rbi +54 -0
  693. data/rbi/workos/authentication_passkey_failed_data.rbi +60 -0
  694. data/rbi/workos/authentication_passkey_failed_data_error.rbi +30 -0
  695. data/rbi/workos/authentication_passkey_succeeded.rbi +54 -0
  696. data/rbi/workos/authentication_passkey_succeeded_data.rbi +54 -0
  697. data/rbi/workos/authentication_password_failed.rbi +54 -0
  698. data/rbi/workos/authentication_password_failed_data.rbi +60 -0
  699. data/rbi/workos/authentication_password_failed_data_error.rbi +30 -0
  700. data/rbi/workos/authentication_password_succeeded.rbi +54 -0
  701. data/rbi/workos/authentication_password_succeeded_data.rbi +54 -0
  702. data/rbi/workos/authentication_radar_risk_detected.rbi +54 -0
  703. data/rbi/workos/authentication_radar_risk_detected_data.rbi +66 -0
  704. data/rbi/workos/authentication_sso_failed.rbi +54 -0
  705. data/rbi/workos/authentication_sso_failed_data.rbi +66 -0
  706. data/rbi/workos/authentication_sso_failed_data_error.rbi +30 -0
  707. data/rbi/workos/authentication_sso_failed_data_sso.rbi +36 -0
  708. data/rbi/workos/authentication_sso_started.rbi +54 -0
  709. data/rbi/workos/authentication_sso_started_data.rbi +60 -0
  710. data/rbi/workos/authentication_sso_started_data_sso.rbi +36 -0
  711. data/rbi/workos/authentication_sso_succeeded.rbi +54 -0
  712. data/rbi/workos/authentication_sso_succeeded_data.rbi +60 -0
  713. data/rbi/workos/authentication_sso_succeeded_data_sso.rbi +36 -0
  714. data/rbi/workos/authentication_sso_timed_out.rbi +54 -0
  715. data/rbi/workos/authentication_sso_timed_out_data.rbi +66 -0
  716. data/rbi/workos/authentication_sso_timed_out_data_error.rbi +30 -0
  717. data/rbi/workos/authentication_sso_timed_out_data_sso.rbi +36 -0
  718. data/rbi/workos/authorization.rbi +414 -0
  719. data/rbi/workos/authorization_check.rbi +24 -0
  720. data/rbi/workos/authorization_code_session_authenticate_request.rbi +72 -0
  721. data/rbi/workos/authorization_permission.rbi +72 -0
  722. data/rbi/workos/authorization_resource.rbi +78 -0
  723. data/rbi/workos/authorized_connect_application_list_data.rbi +48 -0
  724. data/rbi/workos/base_client.rbi +132 -0
  725. data/rbi/workos/challenge_authentication_factor.rbi +24 -0
  726. data/rbi/workos/check_authorization.rbi +42 -0
  727. data/rbi/workos/client.rbi +61 -0
  728. data/rbi/workos/configuration.rbi +68 -0
  729. data/rbi/workos/confirm_email_change.rbi +24 -0
  730. data/rbi/workos/connect.rbi +102 -0
  731. data/rbi/workos/connect_application.rbi +78 -0
  732. data/rbi/workos/connected_account.rbi +66 -0
  733. data/rbi/workos/connection.rbi +84 -0
  734. data/rbi/workos/connection_activated.rbi +54 -0
  735. data/rbi/workos/connection_activated_data.rbi +84 -0
  736. data/rbi/workos/connection_activated_data_domain.rbi +36 -0
  737. data/rbi/workos/connection_deactivated.rbi +54 -0
  738. data/rbi/workos/connection_deactivated_data.rbi +84 -0
  739. data/rbi/workos/connection_deactivated_data_domain.rbi +36 -0
  740. data/rbi/workos/connection_deleted.rbi +54 -0
  741. data/rbi/workos/connection_deleted_data.rbi +66 -0
  742. data/rbi/workos/connection_domain.rbi +36 -0
  743. data/rbi/workos/connection_option.rbi +24 -0
  744. data/rbi/workos/connection_saml_certificate_renewal_required.rbi +54 -0
  745. data/rbi/workos/connection_saml_certificate_renewal_required_data.rbi +36 -0
  746. data/rbi/workos/connection_saml_certificate_renewal_required_data_certificate.rbi +36 -0
  747. data/rbi/workos/connection_saml_certificate_renewal_required_data_connection.rbi +30 -0
  748. data/rbi/workos/connection_saml_certificate_renewed.rbi +54 -0
  749. data/rbi/workos/connection_saml_certificate_renewed_data.rbi +36 -0
  750. data/rbi/workos/connection_saml_certificate_renewed_data_certificate.rbi +30 -0
  751. data/rbi/workos/connection_saml_certificate_renewed_data_connection.rbi +30 -0
  752. data/rbi/workos/cors_origin_response.rbi +48 -0
  753. data/rbi/workos/create_application_secret.rbi +18 -0
  754. data/rbi/workos/create_authorization_permission.rbi +42 -0
  755. data/rbi/workos/create_authorization_resource.rbi +66 -0
  756. data/rbi/workos/create_cors_origin.rbi +24 -0
  757. data/rbi/workos/create_m2m_application.rbi +48 -0
  758. data/rbi/workos/create_magic_code_and_return.rbi +30 -0
  759. data/rbi/workos/create_oauth_application.rbi +66 -0
  760. data/rbi/workos/create_organization_api_key.rbi +30 -0
  761. data/rbi/workos/create_organization_domain.rbi +30 -0
  762. data/rbi/workos/create_organization_role.rbi +42 -0
  763. data/rbi/workos/create_password_reset.rbi +30 -0
  764. data/rbi/workos/create_password_reset_token.rbi +24 -0
  765. data/rbi/workos/create_redirect_uri.rbi +24 -0
  766. data/rbi/workos/create_role.rbi +42 -0
  767. data/rbi/workos/create_user.rbi +72 -0
  768. data/rbi/workos/create_user_invite_options.rbi +54 -0
  769. data/rbi/workos/create_user_organization_membership.rbi +42 -0
  770. data/rbi/workos/create_webhook_endpoint.rbi +30 -0
  771. data/rbi/workos/data_integration_access_token_response.rbi +36 -0
  772. data/rbi/workos/data_integration_access_token_response_access_token.rbi +48 -0
  773. data/rbi/workos/data_integration_authorize_url_response.rbi +24 -0
  774. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +36 -0
  775. data/rbi/workos/data_integrations_get_user_token_request.rbi +30 -0
  776. data/rbi/workos/data_integrations_list_response.rbi +30 -0
  777. data/rbi/workos/data_integrations_list_response_data.rbi +90 -0
  778. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +72 -0
  779. data/rbi/workos/device_authorization_response.rbi +54 -0
  780. data/rbi/workos/device_code_session_authenticate_request.rbi +54 -0
  781. data/rbi/workos/directory.rbi +84 -0
  782. data/rbi/workos/directory_group.rbi +72 -0
  783. data/rbi/workos/directory_metadata.rbi +30 -0
  784. data/rbi/workos/directory_metadata_user.rbi +30 -0
  785. data/rbi/workos/directory_sync.rbi +85 -0
  786. data/rbi/workos/directory_user.rbi +126 -0
  787. data/rbi/workos/directory_user_email.rbi +36 -0
  788. data/rbi/workos/directory_user_with_groups.rbi +132 -0
  789. data/rbi/workos/directory_user_with_groups_email.rbi +36 -0
  790. data/rbi/workos/dsync_activated.rbi +54 -0
  791. data/rbi/workos/dsync_activated_data.rbi +78 -0
  792. data/rbi/workos/dsync_activated_data_domain.rbi +36 -0
  793. data/rbi/workos/dsync_deactivated.rbi +54 -0
  794. data/rbi/workos/dsync_deactivated_data.rbi +78 -0
  795. data/rbi/workos/dsync_deactivated_data_domain.rbi +36 -0
  796. data/rbi/workos/dsync_deleted.rbi +54 -0
  797. data/rbi/workos/dsync_deleted_data.rbi +66 -0
  798. data/rbi/workos/dsync_group_created.rbi +54 -0
  799. data/rbi/workos/dsync_group_deleted.rbi +54 -0
  800. data/rbi/workos/dsync_group_updated.rbi +54 -0
  801. data/rbi/workos/dsync_group_updated_data.rbi +78 -0
  802. data/rbi/workos/dsync_group_user_added.rbi +54 -0
  803. data/rbi/workos/dsync_group_user_added_data.rbi +36 -0
  804. data/rbi/workos/dsync_group_user_removed.rbi +54 -0
  805. data/rbi/workos/dsync_group_user_removed_data.rbi +36 -0
  806. data/rbi/workos/dsync_user_created.rbi +54 -0
  807. data/rbi/workos/dsync_user_deleted.rbi +54 -0
  808. data/rbi/workos/dsync_user_updated.rbi +54 -0
  809. data/rbi/workos/dsync_user_updated_data.rbi +132 -0
  810. data/rbi/workos/dsync_user_updated_data_email.rbi +36 -0
  811. data/rbi/workos/email_change.rbi +48 -0
  812. data/rbi/workos/email_change_confirmation.rbi +30 -0
  813. data/rbi/workos/email_change_confirmation_user.rbi +96 -0
  814. data/rbi/workos/email_verification.rbi +66 -0
  815. data/rbi/workos/email_verification_code_session_authenticate_request.rbi +66 -0
  816. data/rbi/workos/email_verification_created.rbi +54 -0
  817. data/rbi/workos/email_verification_created_data.rbi +60 -0
  818. data/rbi/workos/encryptors/aes_gcm.rbi +19 -0
  819. data/rbi/workos/enroll_user_authentication_factor.rbi +42 -0
  820. data/rbi/workos/errors.rbi +43 -0
  821. data/rbi/workos/event_context.rbi +54 -0
  822. data/rbi/workos/event_context_actor.rbi +36 -0
  823. data/rbi/workos/event_context_google_analytics_session.rbi +36 -0
  824. data/rbi/workos/event_list_list_metadata.rbi +24 -0
  825. data/rbi/workos/event_schema.rbi +54 -0
  826. data/rbi/workos/events.rbi +28 -0
  827. data/rbi/workos/external_auth_complete_response.rbi +24 -0
  828. data/rbi/workos/feature_flag.rbi +84 -0
  829. data/rbi/workos/feature_flag_owner.rbi +36 -0
  830. data/rbi/workos/feature_flags.rbi +90 -0
  831. data/rbi/workos/flag.rbi +84 -0
  832. data/rbi/workos/flag_created.rbi +54 -0
  833. data/rbi/workos/flag_created_context.rbi +30 -0
  834. data/rbi/workos/flag_created_context_actor.rbi +36 -0
  835. data/rbi/workos/flag_created_data.rbi +90 -0
  836. data/rbi/workos/flag_created_data_owner.rbi +36 -0
  837. data/rbi/workos/flag_deleted.rbi +54 -0
  838. data/rbi/workos/flag_deleted_context.rbi +30 -0
  839. data/rbi/workos/flag_deleted_context_actor.rbi +36 -0
  840. data/rbi/workos/flag_deleted_data.rbi +90 -0
  841. data/rbi/workos/flag_deleted_data_owner.rbi +36 -0
  842. data/rbi/workos/flag_owner.rbi +36 -0
  843. data/rbi/workos/flag_rule_updated.rbi +54 -0
  844. data/rbi/workos/flag_rule_updated_context.rbi +48 -0
  845. data/rbi/workos/flag_rule_updated_context_actor.rbi +36 -0
  846. data/rbi/workos/flag_rule_updated_context_configured_target.rbi +30 -0
  847. data/rbi/workos/flag_rule_updated_context_configured_target_organization.rbi +30 -0
  848. data/rbi/workos/flag_rule_updated_context_configured_target_user.rbi +30 -0
  849. data/rbi/workos/flag_rule_updated_context_previous_attribute.rbi +30 -0
  850. data/rbi/workos/flag_rule_updated_context_previous_attribute_context.rbi +30 -0
  851. data/rbi/workos/flag_rule_updated_context_previous_attribute_context_configured_target.rbi +30 -0
  852. data/rbi/workos/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rbi +30 -0
  853. data/rbi/workos/flag_rule_updated_context_previous_attribute_context_configured_target_user.rbi +30 -0
  854. data/rbi/workos/flag_rule_updated_context_previous_attribute_data.rbi +30 -0
  855. data/rbi/workos/flag_rule_updated_data.rbi +90 -0
  856. data/rbi/workos/flag_rule_updated_data_owner.rbi +36 -0
  857. data/rbi/workos/flag_updated.rbi +54 -0
  858. data/rbi/workos/flag_updated_context.rbi +36 -0
  859. data/rbi/workos/flag_updated_context_actor.rbi +36 -0
  860. data/rbi/workos/flag_updated_context_previous_attribute.rbi +24 -0
  861. data/rbi/workos/flag_updated_context_previous_attribute_data.rbi +48 -0
  862. data/rbi/workos/flag_updated_data.rbi +90 -0
  863. data/rbi/workos/flag_updated_data_owner.rbi +36 -0
  864. data/rbi/workos/generate_link.rbi +54 -0
  865. data/rbi/workos/group.rbi +60 -0
  866. data/rbi/workos/group_created.rbi +54 -0
  867. data/rbi/workos/group_deleted.rbi +54 -0
  868. data/rbi/workos/group_member_added.rbi +54 -0
  869. data/rbi/workos/group_member_added_data.rbi +30 -0
  870. data/rbi/workos/group_member_removed.rbi +54 -0
  871. data/rbi/workos/group_member_removed_data.rbi +30 -0
  872. data/rbi/workos/group_updated.rbi +54 -0
  873. data/rbi/workos/hash_provider.rbi +18 -0
  874. data/rbi/workos/intent_options.rbi +24 -0
  875. data/rbi/workos/invitation.rbi +102 -0
  876. data/rbi/workos/invitation_accepted.rbi +54 -0
  877. data/rbi/workos/invitation_accepted_data.rbi +90 -0
  878. data/rbi/workos/invitation_created.rbi +54 -0
  879. data/rbi/workos/invitation_created_data.rbi +90 -0
  880. data/rbi/workos/invitation_resent.rbi +54 -0
  881. data/rbi/workos/invitation_resent_data.rbi +90 -0
  882. data/rbi/workos/invitation_revoked.rbi +54 -0
  883. data/rbi/workos/invitation_revoked_data.rbi +90 -0
  884. data/rbi/workos/jwks_response.rbi +24 -0
  885. data/rbi/workos/jwks_response_keys.rbi +66 -0
  886. data/rbi/workos/jwt_template_response.rbi +42 -0
  887. data/rbi/workos/magic_auth.rbi +66 -0
  888. data/rbi/workos/magic_auth_code_session_authenticate_request.rbi +72 -0
  889. data/rbi/workos/magic_auth_created.rbi +54 -0
  890. data/rbi/workos/magic_auth_created_data.rbi +60 -0
  891. data/rbi/workos/mfa_totp_session_authenticate_request.rbi +72 -0
  892. data/rbi/workos/multi_factor_auth.rbi +83 -0
  893. data/rbi/workos/new_connect_application_secret.rbi +60 -0
  894. data/rbi/workos/organization.rbi +78 -0
  895. data/rbi/workos/organization_created.rbi +54 -0
  896. data/rbi/workos/organization_created_data.rbi +72 -0
  897. data/rbi/workos/organization_created_data_domain.rbi +78 -0
  898. data/rbi/workos/organization_deleted.rbi +54 -0
  899. data/rbi/workos/organization_deleted_data.rbi +72 -0
  900. data/rbi/workos/organization_deleted_data_domain.rbi +78 -0
  901. data/rbi/workos/organization_domain.rbi +78 -0
  902. data/rbi/workos/organization_domain_created.rbi +54 -0
  903. data/rbi/workos/organization_domain_created_data.rbi +78 -0
  904. data/rbi/workos/organization_domain_data.rbi +30 -0
  905. data/rbi/workos/organization_domain_deleted.rbi +54 -0
  906. data/rbi/workos/organization_domain_deleted_data.rbi +78 -0
  907. data/rbi/workos/organization_domain_stand_alone.rbi +78 -0
  908. data/rbi/workos/organization_domain_updated.rbi +54 -0
  909. data/rbi/workos/organization_domain_updated_data.rbi +78 -0
  910. data/rbi/workos/organization_domain_verification_failed.rbi +54 -0
  911. data/rbi/workos/organization_domain_verification_failed_data.rbi +30 -0
  912. data/rbi/workos/organization_domain_verification_failed_data_organization_domain.rbi +78 -0
  913. data/rbi/workos/organization_domain_verified.rbi +54 -0
  914. data/rbi/workos/organization_domain_verified_data.rbi +78 -0
  915. data/rbi/workos/organization_domains.rbi +46 -0
  916. data/rbi/workos/organization_input.rbi +54 -0
  917. data/rbi/workos/organization_membership.rbi +84 -0
  918. data/rbi/workos/organization_membership_created.rbi +54 -0
  919. data/rbi/workos/organization_membership_created_data.rbi +84 -0
  920. data/rbi/workos/organization_membership_deleted.rbi +54 -0
  921. data/rbi/workos/organization_membership_deleted_data.rbi +84 -0
  922. data/rbi/workos/organization_membership_updated.rbi +54 -0
  923. data/rbi/workos/organization_membership_updated_data.rbi +84 -0
  924. data/rbi/workos/organization_role_created.rbi +54 -0
  925. data/rbi/workos/organization_role_created_data.rbi +72 -0
  926. data/rbi/workos/organization_role_deleted.rbi +54 -0
  927. data/rbi/workos/organization_role_deleted_data.rbi +72 -0
  928. data/rbi/workos/organization_role_updated.rbi +54 -0
  929. data/rbi/workos/organization_role_updated_data.rbi +72 -0
  930. data/rbi/workos/organization_selection_session_authenticate_request.rbi +66 -0
  931. data/rbi/workos/organization_updated.rbi +54 -0
  932. data/rbi/workos/organization_updated_data.rbi +72 -0
  933. data/rbi/workos/organization_updated_data_domain.rbi +78 -0
  934. data/rbi/workos/organizations.rbi +86 -0
  935. data/rbi/workos/password_reset.rbi +66 -0
  936. data/rbi/workos/password_reset_created.rbi +54 -0
  937. data/rbi/workos/password_reset_created_data.rbi +54 -0
  938. data/rbi/workos/password_reset_succeeded.rbi +54 -0
  939. data/rbi/workos/password_reset_succeeded_data.rbi +54 -0
  940. data/rbi/workos/password_session_authenticate_request.rbi +72 -0
  941. data/rbi/workos/passwordless.rbi +47 -0
  942. data/rbi/workos/permission.rbi +72 -0
  943. data/rbi/workos/permission_created.rbi +54 -0
  944. data/rbi/workos/permission_created_data.rbi +66 -0
  945. data/rbi/workos/permission_deleted.rbi +54 -0
  946. data/rbi/workos/permission_deleted_data.rbi +66 -0
  947. data/rbi/workos/permission_updated.rbi +54 -0
  948. data/rbi/workos/permission_updated_data.rbi +66 -0
  949. data/rbi/workos/pipes.rbi +63 -0
  950. data/rbi/workos/portal_link_response.rbi +24 -0
  951. data/rbi/workos/profile.rbi +102 -0
  952. data/rbi/workos/public_client.rbi +12 -0
  953. data/rbi/workos/radar.rbi +57 -0
  954. data/rbi/workos/radar_list_entry_already_present_response.rbi +24 -0
  955. data/rbi/workos/radar_standalone_assess_request.rbi +60 -0
  956. data/rbi/workos/radar_standalone_delete_radar_list_entry_request.rbi +24 -0
  957. data/rbi/workos/radar_standalone_response.rbi +48 -0
  958. data/rbi/workos/radar_standalone_update_radar_attempt_request.rbi +30 -0
  959. data/rbi/workos/radar_standalone_update_radar_list_request.rbi +24 -0
  960. data/rbi/workos/redirect_uri.rbi +54 -0
  961. data/rbi/workos/redirect_uri_input.rbi +30 -0
  962. data/rbi/workos/refresh_token_session_authenticate_request.rbi +66 -0
  963. data/rbi/workos/remove_role.rbi +42 -0
  964. data/rbi/workos/resend_user_invite_options.rbi +24 -0
  965. data/rbi/workos/reset_password_response.rbi +24 -0
  966. data/rbi/workos/revoke_session.rbi +30 -0
  967. data/rbi/workos/role.rbi +78 -0
  968. data/rbi/workos/role_assignment.rbi +54 -0
  969. data/rbi/workos/role_assignment_resource.rbi +36 -0
  970. data/rbi/workos/role_created.rbi +54 -0
  971. data/rbi/workos/role_created_data.rbi +54 -0
  972. data/rbi/workos/role_deleted.rbi +54 -0
  973. data/rbi/workos/role_deleted_data.rbi +54 -0
  974. data/rbi/workos/role_list.rbi +30 -0
  975. data/rbi/workos/role_updated.rbi +54 -0
  976. data/rbi/workos/role_updated_data.rbi +54 -0
  977. data/rbi/workos/send_email_change.rbi +24 -0
  978. data/rbi/workos/send_verification_email_response.rbi +24 -0
  979. data/rbi/workos/session.rbi +43 -0
  980. data/rbi/workos/session_created.rbi +54 -0
  981. data/rbi/workos/session_created_data.rbi +96 -0
  982. data/rbi/workos/session_created_data_impersonator.rbi +30 -0
  983. data/rbi/workos/session_manager.rbi +154 -0
  984. data/rbi/workos/session_revoked.rbi +54 -0
  985. data/rbi/workos/session_revoked_data.rbi +96 -0
  986. data/rbi/workos/session_revoked_data_impersonator.rbi +30 -0
  987. data/rbi/workos/set_role_permissions.rbi +24 -0
  988. data/rbi/workos/slim_role.rbi +24 -0
  989. data/rbi/workos/sso.rbi +67 -0
  990. data/rbi/workos/sso_authorize_url_response.rbi +24 -0
  991. data/rbi/workos/sso_device_authorization_request.rbi +24 -0
  992. data/rbi/workos/sso_intent_options.rbi +30 -0
  993. data/rbi/workos/sso_logout_authorize_request.rbi +24 -0
  994. data/rbi/workos/sso_logout_authorize_response.rbi +30 -0
  995. data/rbi/workos/sso_token_response.rbi +48 -0
  996. data/rbi/workos/sso_token_response_oauth_token.rbi +48 -0
  997. data/rbi/workos/token_query.rbi +42 -0
  998. data/rbi/workos/types/api_response.rbi +29 -0
  999. data/rbi/workos/types/base_model.rbi +22 -0
  1000. data/rbi/workos/types/list_struct.rbi +89 -0
  1001. data/rbi/workos/types/request_options.rbi +12 -0
  1002. data/rbi/workos/update_audit_logs_retention.rbi +24 -0
  1003. data/rbi/workos/update_authorization_permission.rbi +30 -0
  1004. data/rbi/workos/update_authorization_resource.rbi +48 -0
  1005. data/rbi/workos/update_jwt_template.rbi +24 -0
  1006. data/rbi/workos/update_oauth_application.rbi +42 -0
  1007. data/rbi/workos/update_organization.rbi +60 -0
  1008. data/rbi/workos/update_organization_role.rbi +30 -0
  1009. data/rbi/workos/update_role.rbi +30 -0
  1010. data/rbi/workos/update_user.rbi +78 -0
  1011. data/rbi/workos/update_user_organization_membership.rbi +30 -0
  1012. data/rbi/workos/update_webhook_endpoint.rbi +36 -0
  1013. data/rbi/workos/user.rbi +96 -0
  1014. data/rbi/workos/user_authentication_factor_enroll_response.rbi +30 -0
  1015. data/rbi/workos/user_consent_option.rbi +42 -0
  1016. data/rbi/workos/user_consent_option_choice.rbi +30 -0
  1017. data/rbi/workos/user_created.rbi +54 -0
  1018. data/rbi/workos/user_deleted.rbi +54 -0
  1019. data/rbi/workos/user_identities_get_item.rbi +36 -0
  1020. data/rbi/workos/user_invite.rbi +102 -0
  1021. data/rbi/workos/user_management.rbi +410 -0
  1022. data/rbi/workos/user_management_login_request.rbi +36 -0
  1023. data/rbi/workos/user_object.rbi +48 -0
  1024. data/rbi/workos/user_organization_membership.rbi +84 -0
  1025. data/rbi/workos/user_organization_membership_base_list_data.rbi +78 -0
  1026. data/rbi/workos/user_sessions_impersonator.rbi +30 -0
  1027. data/rbi/workos/user_sessions_list_item.rbi +96 -0
  1028. data/rbi/workos/user_updated.rbi +54 -0
  1029. data/rbi/workos/util.rbi +12 -0
  1030. data/rbi/workos/validate_api_key.rbi +24 -0
  1031. data/rbi/workos/vault.rbi +137 -0
  1032. data/rbi/workos/vault_byok_key_verification_completed.rbi +54 -0
  1033. data/rbi/workos/vault_byok_key_verification_completed_data.rbi +36 -0
  1034. data/rbi/workos/vault_data_created.rbi +54 -0
  1035. data/rbi/workos/vault_data_created_data.rbi +54 -0
  1036. data/rbi/workos/vault_data_deleted.rbi +54 -0
  1037. data/rbi/workos/vault_data_deleted_data.rbi +42 -0
  1038. data/rbi/workos/vault_data_read.rbi +54 -0
  1039. data/rbi/workos/vault_data_read_data.rbi +48 -0
  1040. data/rbi/workos/vault_data_updated.rbi +54 -0
  1041. data/rbi/workos/vault_data_updated_data.rbi +54 -0
  1042. data/rbi/workos/vault_dek_decrypted.rbi +54 -0
  1043. data/rbi/workos/vault_dek_decrypted_data.rbi +42 -0
  1044. data/rbi/workos/vault_dek_read.rbi +54 -0
  1045. data/rbi/workos/vault_dek_read_data.rbi +48 -0
  1046. data/rbi/workos/vault_kek_created.rbi +54 -0
  1047. data/rbi/workos/vault_kek_created_data.rbi +48 -0
  1048. data/rbi/workos/vault_metadata_read.rbi +54 -0
  1049. data/rbi/workos/vault_metadata_read_data.rbi +42 -0
  1050. data/rbi/workos/vault_names_listed.rbi +54 -0
  1051. data/rbi/workos/vault_names_listed_data.rbi +36 -0
  1052. data/rbi/workos/verify_email_address.rbi +24 -0
  1053. data/rbi/workos/verify_email_response.rbi +24 -0
  1054. data/rbi/workos/webhook_endpoint.rbi +65 -0
  1055. data/rbi/workos/webhook_endpoint_json.rbi +66 -0
  1056. data/rbi/workos/webhooks.rbi +52 -0
  1057. data/rbi/workos/widget_session_token.rbi +36 -0
  1058. data/rbi/workos/widget_session_token_response.rbi +24 -0
  1059. data/rbi/workos/widgets.rbi +23 -0
  1060. data/renovate.json +66 -0
  1061. data/script/ci +16 -0
  1062. data/test/test_helper.rb +20 -0
  1063. data/test/workos/test_actions.rb +78 -0
  1064. data/test/workos/test_admin_portal.rb +33 -0
  1065. data/test/workos/test_api_keys.rb +57 -0
  1066. data/test/workos/test_audit_logs.rb +89 -0
  1067. data/test/workos/test_authkit_helpers.rb +109 -0
  1068. data/test/workos/test_authorization.rb +321 -0
  1069. data/test/workos/test_base_client.rb +173 -0
  1070. data/test/workos/test_connect.rb +127 -0
  1071. data/test/workos/test_directory_sync.rb +81 -0
  1072. data/test/workos/test_encryptors_aes_gcm.rb +54 -0
  1073. data/test/workos/test_events.rb +33 -0
  1074. data/test/workos/test_feature_flags.rb +89 -0
  1075. data/test/workos/test_list_struct.rb +39 -0
  1076. data/test/workos/test_model_round_trip.rb +7013 -0
  1077. data/test/workos/test_multi_factor_auth.rb +81 -0
  1078. data/test/workos/test_organization_domains.rb +57 -0
  1079. data/test/workos/test_organizations.rb +81 -0
  1080. data/test/workos/test_passwordless.rb +59 -0
  1081. data/test/workos/test_pipes.rb +65 -0
  1082. data/test/workos/test_pkce.rb +40 -0
  1083. data/test/workos/test_public_client.rb +38 -0
  1084. data/test/workos/test_radar.rb +57 -0
  1085. data/test/workos/test_session.rb +261 -0
  1086. data/test/workos/test_sso.rb +73 -0
  1087. data/test/workos/test_sso_helpers.rb +80 -0
  1088. data/test/workos/test_sso_runtime.rb +45 -0
  1089. data/test/workos/test_user_management.rb +473 -0
  1090. data/test/workos/test_vault.rb +151 -0
  1091. data/test/workos/test_webhook_verify.rb +84 -0
  1092. data/test/workos/test_webhooks.rb +57 -0
  1093. data/test/workos/test_widgets.rb +33 -0
  1094. data/workos.gemspec +22 -21
  1095. metadata +1097 -509
  1096. data/.github/renovate.json +0 -5
  1097. data/.rspec +0 -1
  1098. data/.rubocop.yml +0 -34
  1099. data/.rubocop_todo.yml +0 -94
  1100. data/lib/workos/audit_log_export.rb +0 -32
  1101. data/lib/workos/authentication_factor_and_challenge.rb +0 -28
  1102. data/lib/workos/authentication_response.rb +0 -62
  1103. data/lib/workos/cache.rb +0 -94
  1104. data/lib/workos/challenge.rb +0 -36
  1105. data/lib/workos/connection.rb +0 -42
  1106. data/lib/workos/deprecated_hash_wrapper.rb +0 -76
  1107. data/lib/workos/deprecation.rb +0 -16
  1108. data/lib/workos/directory.rb +0 -38
  1109. data/lib/workos/directory_group.rb +0 -41
  1110. data/lib/workos/directory_user.rb +0 -93
  1111. data/lib/workos/email_verification.rb +0 -37
  1112. data/lib/workos/event.rb +0 -30
  1113. data/lib/workos/factor.rb +0 -35
  1114. data/lib/workos/feature_flag.rb +0 -34
  1115. data/lib/workos/impersonator.rb +0 -23
  1116. data/lib/workos/invitation.rb +0 -49
  1117. data/lib/workos/magic_auth.rb +0 -37
  1118. data/lib/workos/mfa.rb +0 -136
  1119. data/lib/workos/oauth_tokens.rb +0 -29
  1120. data/lib/workos/organization.rb +0 -47
  1121. data/lib/workos/organization_membership.rb +0 -40
  1122. data/lib/workos/password_reset.rb +0 -37
  1123. data/lib/workos/portal.rb +0 -54
  1124. data/lib/workos/profile.rb +0 -57
  1125. data/lib/workos/profile_and_token.rb +0 -26
  1126. data/lib/workos/refresh_authentication_response.rb +0 -51
  1127. data/lib/workos/role.rb +0 -38
  1128. data/lib/workos/types/intent.rb +0 -18
  1129. data/lib/workos/types/passwordless_session_struct.rb +0 -18
  1130. data/lib/workos/types/provider.rb +0 -16
  1131. data/lib/workos/types/widget_scope.rb +0 -15
  1132. data/lib/workos/types.rb +0 -12
  1133. data/lib/workos/user.rb +0 -45
  1134. data/lib/workos/user_and_token.rb +0 -26
  1135. data/lib/workos/user_management/session.rb +0 -57
  1136. data/lib/workos/user_response.rb +0 -22
  1137. data/lib/workos/verify_challenge.rb +0 -25
  1138. data/lib/workos/webhook.rb +0 -30
  1139. data/spec/lib/workos/audit_logs_spec.rb +0 -150
  1140. data/spec/lib/workos/cache_spec.rb +0 -94
  1141. data/spec/lib/workos/client.rb +0 -67
  1142. data/spec/lib/workos/configuration_spec.rb +0 -60
  1143. data/spec/lib/workos/directory_sync_spec.rb +0 -483
  1144. data/spec/lib/workos/directory_user_spec.rb +0 -61
  1145. data/spec/lib/workos/encryptors/aes_gcm_spec.rb +0 -41
  1146. data/spec/lib/workos/event_spec.rb +0 -109
  1147. data/spec/lib/workos/mfa_spec.rb +0 -285
  1148. data/spec/lib/workos/organizations_spec.rb +0 -569
  1149. data/spec/lib/workos/passwordless_spec.rb +0 -76
  1150. data/spec/lib/workos/portal_spec.rb +0 -116
  1151. data/spec/lib/workos/role_spec.rb +0 -142
  1152. data/spec/lib/workos/session_spec.rb +0 -475
  1153. data/spec/lib/workos/sso_spec.rb +0 -756
  1154. data/spec/lib/workos/user_management_spec.rb +0 -1924
  1155. data/spec/lib/workos/webhooks_spec.rb +0 -235
  1156. data/spec/lib/workos/widgets_spec.rb +0 -73
  1157. data/spec/spec_helper.rb +0 -53
  1158. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml +0 -59
  1159. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml +0 -60
  1160. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml +0 -59
  1161. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml +0 -76
  1162. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml +0 -77
  1163. data/spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml +0 -73
  1164. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml +0 -65
  1165. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml +0 -67
  1166. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event_invalid.yml +0 -68
  1167. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_events_duplicate_idempotency_key_and_payload.yml +0 -131
  1168. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_events_duplicate_idempotency_key_different_payload.yml +0 -134
  1169. data/spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml +0 -61
  1170. data/spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml +0 -66
  1171. data/spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml +0 -72
  1172. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml +0 -83
  1173. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml +0 -84
  1174. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +0 -80
  1175. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml +0 -62
  1176. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +0 -83
  1177. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user_with_invalid_id.yml +0 -62
  1178. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +0 -87
  1179. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +0 -89
  1180. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +0 -84
  1181. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +0 -85
  1182. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +0 -93
  1183. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +0 -85
  1184. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +0 -90
  1185. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +0 -90
  1186. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +0 -90
  1187. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +0 -84
  1188. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +0 -84
  1189. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +0 -82
  1190. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +0 -186
  1191. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +0 -88
  1192. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +0 -194
  1193. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +0 -186
  1194. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +0 -189
  1195. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_no_options.yml +0 -75
  1196. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_after.yml +0 -80
  1197. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_event.yml +0 -80
  1198. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_no_options.yml +0 -81
  1199. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_organization_id.yml +0 -80
  1200. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_range.yml +0 -80
  1201. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_generic_valid.yml +0 -82
  1202. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_sms_valid.yml +0 -82
  1203. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +0 -82
  1204. data/spec/support/fixtures/vcr_cassettes/mfa/delete_factor.yml +0 -80
  1205. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +0 -82
  1206. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +0 -82
  1207. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +0 -82
  1208. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_invalid.yml +0 -82
  1209. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +0 -82
  1210. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_expired.yml +0 -84
  1211. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_invalid.yml +0 -84
  1212. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid.yml +0 -82
  1213. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid_is_false.yml +0 -82
  1214. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +0 -84
  1215. data/spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml +0 -72
  1216. data/spec/support/fixtures/vcr_cassettes/organization/create_with_domain_data.yml +0 -82
  1217. data/spec/support/fixtures/vcr_cassettes/organization/create_with_domains.yml +0 -81
  1218. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml +0 -155
  1219. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml +0 -154
  1220. data/spec/support/fixtures/vcr_cassettes/organization/create_with_external_id.yml +0 -83
  1221. data/spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml +0 -79
  1222. data/spec/support/fixtures/vcr_cassettes/organization/create_without_domains.yml +0 -86
  1223. data/spec/support/fixtures/vcr_cassettes/organization/delete.yml +0 -72
  1224. data/spec/support/fixtures/vcr_cassettes/organization/delete_invalid.yml +0 -72
  1225. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +0 -84
  1226. data/spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml +0 -72
  1227. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +0 -87
  1228. data/spec/support/fixtures/vcr_cassettes/organization/list_organization_feature_flags.yml +0 -78
  1229. data/spec/support/fixtures/vcr_cassettes/organization/list_organization_roles.yml +0 -82
  1230. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +0 -84
  1231. data/spec/support/fixtures/vcr_cassettes/organization/update_with_external_id.yml +0 -78
  1232. data/spec/support/fixtures/vcr_cassettes/organization/update_with_external_id_null.yml +0 -78
  1233. data/spec/support/fixtures/vcr_cassettes/organization/update_with_stripe_customer_id.yml +0 -78
  1234. data/spec/support/fixtures/vcr_cassettes/organization/update_without_name.yml +0 -85
  1235. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml +0 -72
  1236. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml +0 -73
  1237. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml +0 -72
  1238. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml +0 -73
  1239. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_audit_logs.yml +0 -72
  1240. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_certificate_renewal.yml +0 -72
  1241. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_domain_verification.yml +0 -72
  1242. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_dsync.yml +0 -72
  1243. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml +0 -72
  1244. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_sso.yml +0 -72
  1245. data/spec/support/fixtures/vcr_cassettes/sso/delete_connection_with_invalid_id.yml +0 -72
  1246. data/spec/support/fixtures/vcr_cassettes/sso/delete_connection_with_valid_id.yml +0 -70
  1247. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_invalid_id.yml +0 -72
  1248. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_valid_id.yml +0 -86
  1249. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +0 -83
  1250. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +0 -86
  1251. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +0 -90
  1252. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_domain.yml +0 -86
  1253. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +0 -83
  1254. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +0 -89
  1255. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml +0 -86
  1256. data/spec/support/fixtures/vcr_cassettes/sso/profile.yml +0 -74
  1257. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/invalid.yml +0 -84
  1258. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid.yml +0 -82
  1259. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid_with_impersonator.yml +0 -80
  1260. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_code/valid_with_oauth_tokens.yml +0 -82
  1261. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/invalid.yml +0 -83
  1262. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_email_verification/valid.yml +0 -81
  1263. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_magic_auth/invalid.yml +0 -82
  1264. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_magic_auth/valid.yml +0 -82
  1265. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_organization_selection/invalid.yml +0 -81
  1266. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_organization_selection/valid.yml +0 -82
  1267. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/invalid.yml +0 -82
  1268. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/unverified.yml +0 -82
  1269. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_password/valid.yml +0 -82
  1270. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_code/invalid.yml +0 -81
  1271. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_refresh_token/valid.yml +0 -82
  1272. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/invalid.yml +0 -83
  1273. data/spec/support/fixtures/vcr_cassettes/user_management/authenticate_with_totp/valid.yml +0 -81
  1274. data/spec/support/fixtures/vcr_cassettes/user_management/confirm_password_reset/invalid.yml +0 -82
  1275. data/spec/support/fixtures/vcr_cassettes/user_management/confirm_password_reset/valid.yml +0 -82
  1276. data/spec/support/fixtures/vcr_cassettes/user_management/create_magic_auth/valid.yml +0 -80
  1277. data/spec/support/fixtures/vcr_cassettes/user_management/create_organization_membership/invalid.yml +0 -83
  1278. data/spec/support/fixtures/vcr_cassettes/user_management/create_organization_membership/valid.yml +0 -82
  1279. data/spec/support/fixtures/vcr_cassettes/user_management/create_organization_membership/valid_multiple_roles.yml +0 -76
  1280. data/spec/support/fixtures/vcr_cassettes/user_management/create_password_reset/valid.yml +0 -80
  1281. data/spec/support/fixtures/vcr_cassettes/user_management/create_user_invalid.yml +0 -83
  1282. data/spec/support/fixtures/vcr_cassettes/user_management/create_user_valid.yml +0 -82
  1283. data/spec/support/fixtures/vcr_cassettes/user_management/create_user_with_external_id.yml +0 -77
  1284. data/spec/support/fixtures/vcr_cassettes/user_management/deactivate_organization_membership.yml +0 -64
  1285. data/spec/support/fixtures/vcr_cassettes/user_management/delete_organization_membership/invalid.yml +0 -82
  1286. data/spec/support/fixtures/vcr_cassettes/user_management/delete_organization_membership/valid.yml +0 -78
  1287. data/spec/support/fixtures/vcr_cassettes/user_management/delete_user/invalid.yml +0 -82
  1288. data/spec/support/fixtures/vcr_cassettes/user_management/delete_user/valid.yml +0 -78
  1289. data/spec/support/fixtures/vcr_cassettes/user_management/enroll_auth_factor/invalid.yml +0 -82
  1290. data/spec/support/fixtures/vcr_cassettes/user_management/enroll_auth_factor/valid.yml +0 -82
  1291. data/spec/support/fixtures/vcr_cassettes/user_management/find_invitation_by_token/invalid.yml +0 -80
  1292. data/spec/support/fixtures/vcr_cassettes/user_management/find_invitation_by_token/valid.yml +0 -80
  1293. data/spec/support/fixtures/vcr_cassettes/user_management/get_email_verification/invalid.yml +0 -80
  1294. data/spec/support/fixtures/vcr_cassettes/user_management/get_email_verification/valid.yml +0 -80
  1295. data/spec/support/fixtures/vcr_cassettes/user_management/get_invitation/invalid.yml +0 -82
  1296. data/spec/support/fixtures/vcr_cassettes/user_management/get_invitation/valid.yml +0 -82
  1297. data/spec/support/fixtures/vcr_cassettes/user_management/get_magic_auth/invalid.yml +0 -80
  1298. data/spec/support/fixtures/vcr_cassettes/user_management/get_magic_auth/valid.yml +0 -80
  1299. data/spec/support/fixtures/vcr_cassettes/user_management/get_organization_membership.yml +0 -82
  1300. data/spec/support/fixtures/vcr_cassettes/user_management/get_password_reset/invalid.yml +0 -80
  1301. data/spec/support/fixtures/vcr_cassettes/user_management/get_password_reset/valid.yml +0 -80
  1302. data/spec/support/fixtures/vcr_cassettes/user_management/get_user.yml +0 -82
  1303. data/spec/support/fixtures/vcr_cassettes/user_management/list_auth_factors/invalid.yml +0 -82
  1304. data/spec/support/fixtures/vcr_cassettes/user_management/list_auth_factors/valid.yml +0 -82
  1305. data/spec/support/fixtures/vcr_cassettes/user_management/list_invitations/with_after.yml +0 -83
  1306. data/spec/support/fixtures/vcr_cassettes/user_management/list_invitations/with_before.yml +0 -83
  1307. data/spec/support/fixtures/vcr_cassettes/user_management/list_invitations/with_limit.yml +0 -83
  1308. data/spec/support/fixtures/vcr_cassettes/user_management/list_invitations/with_no_options.yml +0 -83
  1309. data/spec/support/fixtures/vcr_cassettes/user_management/list_invitations/with_organization_id.yml +0 -83
  1310. data/spec/support/fixtures/vcr_cassettes/user_management/list_organization_memberships/no_options.yml +0 -82
  1311. data/spec/support/fixtures/vcr_cassettes/user_management/list_organization_memberships/with_options.yml +0 -82
  1312. data/spec/support/fixtures/vcr_cassettes/user_management/list_organization_memberships/with_statuses_option.yml +0 -64
  1313. data/spec/support/fixtures/vcr_cassettes/user_management/list_sessions/valid.yml +0 -38
  1314. data/spec/support/fixtures/vcr_cassettes/user_management/list_users/no_options.yml +0 -82
  1315. data/spec/support/fixtures/vcr_cassettes/user_management/list_users/with_options.yml +0 -82
  1316. data/spec/support/fixtures/vcr_cassettes/user_management/reactivate_organization_membership.yml +0 -64
  1317. data/spec/support/fixtures/vcr_cassettes/user_management/resend_invitation/accepted.yml +0 -83
  1318. data/spec/support/fixtures/vcr_cassettes/user_management/resend_invitation/expired.yml +0 -83
  1319. data/spec/support/fixtures/vcr_cassettes/user_management/resend_invitation/invalid.yml +0 -83
  1320. data/spec/support/fixtures/vcr_cassettes/user_management/resend_invitation/revoked.yml +0 -83
  1321. data/spec/support/fixtures/vcr_cassettes/user_management/resend_invitation/valid.yml +0 -83
  1322. data/spec/support/fixtures/vcr_cassettes/user_management/reset_password/invalid.yml +0 -82
  1323. data/spec/support/fixtures/vcr_cassettes/user_management/reset_password/valid.yml +0 -82
  1324. data/spec/support/fixtures/vcr_cassettes/user_management/revoke_invitation/invalid.yml +0 -82
  1325. data/spec/support/fixtures/vcr_cassettes/user_management/revoke_invitation/valid.yml +0 -82
  1326. data/spec/support/fixtures/vcr_cassettes/user_management/revoke_session/not_found.yml +0 -80
  1327. data/spec/support/fixtures/vcr_cassettes/user_management/revoke_session/valid.yml +0 -76
  1328. data/spec/support/fixtures/vcr_cassettes/user_management/send_invitation/invalid.yml +0 -82
  1329. data/spec/support/fixtures/vcr_cassettes/user_management/send_invitation/valid.yml +0 -82
  1330. data/spec/support/fixtures/vcr_cassettes/user_management/send_magic_auth_code/valid.yml +0 -82
  1331. data/spec/support/fixtures/vcr_cassettes/user_management/send_password_reset_email/invalid.yml +0 -83
  1332. data/spec/support/fixtures/vcr_cassettes/user_management/send_password_reset_email/valid.yml +0 -82
  1333. data/spec/support/fixtures/vcr_cassettes/user_management/send_verification_email/invalid.yml +0 -82
  1334. data/spec/support/fixtures/vcr_cassettes/user_management/send_verification_email/valid.yml +0 -82
  1335. data/spec/support/fixtures/vcr_cassettes/user_management/update_organization_membership/invalid.yml +0 -82
  1336. data/spec/support/fixtures/vcr_cassettes/user_management/update_organization_membership/valid.yml +0 -83
  1337. data/spec/support/fixtures/vcr_cassettes/user_management/update_organization_membership/valid_multiple_roles.yml +0 -76
  1338. data/spec/support/fixtures/vcr_cassettes/user_management/update_user/email.yml +0 -82
  1339. data/spec/support/fixtures/vcr_cassettes/user_management/update_user/invalid.yml +0 -82
  1340. data/spec/support/fixtures/vcr_cassettes/user_management/update_user/locale.yml +0 -76
  1341. data/spec/support/fixtures/vcr_cassettes/user_management/update_user/valid.yml +0 -82
  1342. data/spec/support/fixtures/vcr_cassettes/user_management/update_user_external_id_null.yml +0 -77
  1343. data/spec/support/fixtures/vcr_cassettes/user_management/update_user_password/invalid.yml +0 -82
  1344. data/spec/support/fixtures/vcr_cassettes/user_management/update_user_password/valid.yml +0 -82
  1345. data/spec/support/fixtures/vcr_cassettes/user_management/verify_email/invalid_code.yml +0 -83
  1346. data/spec/support/fixtures/vcr_cassettes/user_management/verify_email/invalid_magic_auth_challenge.yml +0 -82
  1347. data/spec/support/fixtures/vcr_cassettes/user_management/verify_email/valid.yml +0 -82
  1348. data/spec/support/fixtures/vcr_cassettes/widgets/get_token.yml +0 -82
  1349. data/spec/support/fixtures/vcr_cassettes/widgets/get_token_invalid_organization_id.yml +0 -74
  1350. data/spec/support/fixtures/vcr_cassettes/widgets/get_token_invalid_user_id.yml +0 -74
  1351. data/spec/support/profile.txt +0 -1
  1352. data/spec/support/shared_examples/client.rb +0 -29
  1353. data/spec/support/webhook_payload.txt +0 -1
@@ -0,0 +1,1289 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ require "json"
6
+
7
+ module WorkOS
8
+ class Authorization
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ # Check authorization
14
+ # @param organization_membership_id [String] The ID of the organization membership to check.
15
+ # @param permission_slug [String] The slug of the permission to check.
16
+ # @param resource_id [String, nil] The ID of the resource. Mutually exclusive with `resource_external_id` and `resource_type_slug`.
17
+ # @param resource_external_id [String, nil] The external ID of the resource. Required with `resource_type_slug`. Mutually exclusive with `resource_id`.
18
+ # @param resource_type_slug [String, nil] The slug of the resource type. Required with `resource_external_id`. Mutually exclusive with `resource_id`.
19
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
20
+ # @return [WorkOS::AuthorizationCheck]
21
+ def check(
22
+ organization_membership_id:,
23
+ permission_slug:,
24
+ resource_target:,
25
+ resource_id: nil,
26
+ resource_external_id: nil,
27
+ resource_type_slug: nil,
28
+ request_options: {}
29
+ )
30
+ params = {}.compact
31
+ case resource_target[:type]
32
+ when "by_id"
33
+ params["resource_id"] = resource_target[:resource_id]
34
+ when "by_external_id"
35
+ params["resource_external_id"] = resource_target[:resource_external_id]
36
+ params["resource_type_slug"] = resource_target[:resource_type_slug]
37
+ end
38
+ body = {
39
+ "permission_slug" => permission_slug,
40
+ "resource_id" => resource_id,
41
+ "resource_external_id" => resource_external_id,
42
+ "resource_type_slug" => resource_type_slug
43
+ }.compact
44
+ response = @client.request(
45
+ method: :post,
46
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/check",
47
+ auth: true,
48
+ params: params,
49
+ body: body,
50
+ request_options: request_options
51
+ )
52
+ result = WorkOS::AuthorizationCheck.new(response.body)
53
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
54
+ result
55
+ end
56
+
57
+ # List resources for organization membership
58
+ # @param organization_membership_id [String] The ID of the organization membership.
59
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
60
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
61
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
62
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
63
+ # @param permission_slug [String] The permission slug to filter by. Only child resources where the organization membership has this permission are returned.
64
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
65
+ # @return [WorkOS::Types::ListStruct<WorkOS::AuthorizationResource>]
66
+ def list_organization_membership_resources(
67
+ organization_membership_id:,
68
+ permission_slug:,
69
+ parent_resource:,
70
+ before: nil,
71
+ after: nil,
72
+ limit: nil,
73
+ order: "desc",
74
+ request_options: {}
75
+ )
76
+ params = {
77
+ "before" => before,
78
+ "after" => after,
79
+ "limit" => limit,
80
+ "order" => order,
81
+ "permission_slug" => permission_slug
82
+ }.compact
83
+ case parent_resource[:type]
84
+ when "by_id"
85
+ params["parent_resource_id"] = parent_resource[:parent_resource_id]
86
+ when "by_external_id"
87
+ params["parent_resource_type_slug"] = parent_resource[:parent_resource_type_slug]
88
+ params["parent_resource_external_id"] = parent_resource[:parent_resource_external_id]
89
+ end
90
+ response = @client.request(
91
+ method: :get,
92
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/resources",
93
+ auth: true,
94
+ params: params,
95
+ request_options: request_options
96
+ )
97
+ fetch_next = ->(cursor) {
98
+ list_organization_membership_resources(
99
+ organization_membership_id: organization_membership_id,
100
+ before: before,
101
+ after: cursor,
102
+ limit: limit,
103
+ order: order,
104
+ permission_slug: permission_slug,
105
+ parent_resource: parent_resource,
106
+ request_options: request_options
107
+ )
108
+ }
109
+ WorkOS::Types::ListStruct.from_response(
110
+ response,
111
+ model: WorkOS::AuthorizationResource,
112
+ filters: {organization_membership_id: organization_membership_id, before: before, limit: limit, order: order, permission_slug: permission_slug, parent_resource: parent_resource},
113
+ fetch_next: fetch_next
114
+ )
115
+ end
116
+
117
+ # List effective permissions for an organization membership on a resource
118
+ # @param organization_membership_id [String] The ID of the organization membership.
119
+ # @param resource_id [String] The ID of the authorization resource.
120
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
121
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
122
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
123
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
124
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
125
+ # @return [WorkOS::Types::ListStruct<WorkOS::AuthorizationPermission>]
126
+ def list_resource_permissions(
127
+ organization_membership_id:,
128
+ resource_id:,
129
+ before: nil,
130
+ after: nil,
131
+ limit: nil,
132
+ order: "desc",
133
+ request_options: {}
134
+ )
135
+ params = {
136
+ "before" => before,
137
+ "after" => after,
138
+ "limit" => limit,
139
+ "order" => order
140
+ }.compact
141
+ response = @client.request(
142
+ method: :get,
143
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/resources/#{WorkOS::Util.encode_path(resource_id)}/permissions",
144
+ auth: true,
145
+ params: params,
146
+ request_options: request_options
147
+ )
148
+ fetch_next = ->(cursor) {
149
+ list_resource_permissions(
150
+ organization_membership_id: organization_membership_id,
151
+ resource_id: resource_id,
152
+ before: before,
153
+ after: cursor,
154
+ limit: limit,
155
+ order: order,
156
+ request_options: request_options
157
+ )
158
+ }
159
+ WorkOS::Types::ListStruct.from_response(
160
+ response,
161
+ model: WorkOS::AuthorizationPermission,
162
+ filters: {organization_membership_id: organization_membership_id, resource_id: resource_id, before: before, limit: limit, order: order},
163
+ fetch_next: fetch_next
164
+ )
165
+ end
166
+
167
+ # List effective permissions for an organization membership on a resource by external ID
168
+ # @param organization_membership_id [String] The ID of the organization membership.
169
+ # @param resource_type_slug [String] The slug of the resource type.
170
+ # @param external_id [String] An identifier you provide to reference the resource in your system.
171
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
172
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
173
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
174
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
175
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
176
+ # @return [WorkOS::Types::ListStruct<WorkOS::AuthorizationPermission>]
177
+ def list_effective_permissions_by_external_id(
178
+ organization_membership_id:,
179
+ resource_type_slug:,
180
+ external_id:,
181
+ before: nil,
182
+ after: nil,
183
+ limit: nil,
184
+ order: "desc",
185
+ request_options: {}
186
+ )
187
+ params = {
188
+ "before" => before,
189
+ "after" => after,
190
+ "limit" => limit,
191
+ "order" => order
192
+ }.compact
193
+ response = @client.request(
194
+ method: :get,
195
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/resources/#{WorkOS::Util.encode_path(resource_type_slug)}/#{WorkOS::Util.encode_path(external_id)}/permissions",
196
+ auth: true,
197
+ params: params,
198
+ request_options: request_options
199
+ )
200
+ fetch_next = ->(cursor) {
201
+ list_effective_permissions_by_external_id(
202
+ organization_membership_id: organization_membership_id,
203
+ resource_type_slug: resource_type_slug,
204
+ external_id: external_id,
205
+ before: before,
206
+ after: cursor,
207
+ limit: limit,
208
+ order: order,
209
+ request_options: request_options
210
+ )
211
+ }
212
+ WorkOS::Types::ListStruct.from_response(
213
+ response,
214
+ model: WorkOS::AuthorizationPermission,
215
+ filters: {organization_membership_id: organization_membership_id, resource_type_slug: resource_type_slug, external_id: external_id, before: before, limit: limit, order: order},
216
+ fetch_next: fetch_next
217
+ )
218
+ end
219
+
220
+ # List role assignments
221
+ # @param organization_membership_id [String] The ID of the organization membership.
222
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
223
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
224
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
225
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
226
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
227
+ # @return [WorkOS::Types::ListStruct<WorkOS::RoleAssignment>]
228
+ def list_organization_membership_role_assignments(
229
+ organization_membership_id:,
230
+ before: nil,
231
+ after: nil,
232
+ limit: nil,
233
+ order: "desc",
234
+ request_options: {}
235
+ )
236
+ params = {
237
+ "before" => before,
238
+ "after" => after,
239
+ "limit" => limit,
240
+ "order" => order
241
+ }.compact
242
+ response = @client.request(
243
+ method: :get,
244
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/role_assignments",
245
+ auth: true,
246
+ params: params,
247
+ request_options: request_options
248
+ )
249
+ fetch_next = ->(cursor) {
250
+ list_organization_membership_role_assignments(
251
+ organization_membership_id: organization_membership_id,
252
+ before: before,
253
+ after: cursor,
254
+ limit: limit,
255
+ order: order,
256
+ request_options: request_options
257
+ )
258
+ }
259
+ WorkOS::Types::ListStruct.from_response(
260
+ response,
261
+ model: WorkOS::RoleAssignment,
262
+ filters: {organization_membership_id: organization_membership_id, before: before, limit: limit, order: order},
263
+ fetch_next: fetch_next
264
+ )
265
+ end
266
+
267
+ # Assign a role
268
+ # @param organization_membership_id [String] The ID of the organization membership.
269
+ # @param role_slug [String] The slug of the role to assign.
270
+ # @param resource_id [String, nil] The ID of the resource. Mutually exclusive with `resource_external_id` and `resource_type_slug`.
271
+ # @param resource_external_id [String, nil] The external ID of the resource. Required with `resource_type_slug`. Mutually exclusive with `resource_id`.
272
+ # @param resource_type_slug [String, nil] The resource type slug. Required with `resource_external_id`. Mutually exclusive with `resource_id`.
273
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
274
+ # @return [WorkOS::RoleAssignment]
275
+ def assign_role(
276
+ organization_membership_id:,
277
+ role_slug:,
278
+ resource_target:,
279
+ resource_id: nil,
280
+ resource_external_id: nil,
281
+ resource_type_slug: nil,
282
+ request_options: {}
283
+ )
284
+ params = {}.compact
285
+ case resource_target[:type]
286
+ when "by_id"
287
+ params["resource_id"] = resource_target[:resource_id]
288
+ when "by_external_id"
289
+ params["resource_external_id"] = resource_target[:resource_external_id]
290
+ params["resource_type_slug"] = resource_target[:resource_type_slug]
291
+ end
292
+ body = {
293
+ "role_slug" => role_slug,
294
+ "resource_id" => resource_id,
295
+ "resource_external_id" => resource_external_id,
296
+ "resource_type_slug" => resource_type_slug
297
+ }.compact
298
+ response = @client.request(
299
+ method: :post,
300
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/role_assignments",
301
+ auth: true,
302
+ params: params,
303
+ body: body,
304
+ request_options: request_options
305
+ )
306
+ result = WorkOS::RoleAssignment.new(response.body)
307
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
308
+ result
309
+ end
310
+
311
+ # Remove a role assignment
312
+ # @param organization_membership_id [String] The ID of the organization membership.
313
+ # @param role_slug [String] The slug of the role to remove.
314
+ # @param resource_id [String, nil] The ID of the resource. Mutually exclusive with `resource_external_id` and `resource_type_slug`.
315
+ # @param resource_external_id [String, nil] The external ID of the resource. Required with `resource_type_slug`. Mutually exclusive with `resource_id`.
316
+ # @param resource_type_slug [String, nil] The resource type slug. Required with `resource_external_id`. Mutually exclusive with `resource_id`.
317
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
318
+ # @return [void]
319
+ def remove_role(
320
+ organization_membership_id:,
321
+ role_slug:,
322
+ resource_target:,
323
+ resource_id: nil,
324
+ resource_external_id: nil,
325
+ resource_type_slug: nil,
326
+ request_options: {}
327
+ )
328
+ params = {}.compact
329
+ case resource_target[:type]
330
+ when "by_id"
331
+ params["resource_id"] = resource_target[:resource_id]
332
+ when "by_external_id"
333
+ params["resource_external_id"] = resource_target[:resource_external_id]
334
+ params["resource_type_slug"] = resource_target[:resource_type_slug]
335
+ end
336
+ body = {
337
+ "role_slug" => role_slug,
338
+ "resource_id" => resource_id,
339
+ "resource_external_id" => resource_external_id,
340
+ "resource_type_slug" => resource_type_slug
341
+ }.compact
342
+ @client.request(
343
+ method: :delete,
344
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/role_assignments",
345
+ auth: true,
346
+ params: params,
347
+ body: body,
348
+ request_options: request_options
349
+ )
350
+ nil
351
+ end
352
+
353
+ # Remove a role assignment by ID
354
+ # @param organization_membership_id [String] The ID of the organization membership.
355
+ # @param role_assignment_id [String] The ID of the role assignment to remove.
356
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
357
+ # @return [void]
358
+ def delete_organization_membership_role_assignment(
359
+ organization_membership_id:,
360
+ role_assignment_id:,
361
+ request_options: {}
362
+ )
363
+ @client.request(
364
+ method: :delete,
365
+ path: "/authorization/organization_memberships/#{WorkOS::Util.encode_path(organization_membership_id)}/role_assignments/#{WorkOS::Util.encode_path(role_assignment_id)}",
366
+ auth: true,
367
+ request_options: request_options
368
+ )
369
+ nil
370
+ end
371
+
372
+ # List custom roles
373
+ # @param organization_id [String] The ID of the organization.
374
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
375
+ # @return [WorkOS::RoleList]
376
+ def list_organization_roles(
377
+ organization_id:,
378
+ request_options: {}
379
+ )
380
+ response = @client.request(
381
+ method: :get,
382
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles",
383
+ auth: true,
384
+ request_options: request_options
385
+ )
386
+ result = WorkOS::RoleList.new(response.body)
387
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
388
+ result
389
+ end
390
+
391
+ # Create a custom role
392
+ # @param organization_id [String] The ID of the organization.
393
+ # @param slug [String, nil] A unique identifier for the role within the organization. When provided, must begin with 'org-' and contain only lowercase letters, numbers, hyphens, and underscores. When omitted, a slug is auto-generated from the role name and a random suffix.
394
+ # @param name [String] A descriptive name for the role.
395
+ # @param description [String, nil] An optional description of the role's purpose.
396
+ # @param resource_type_slug [String, nil] The slug of the resource type the role is scoped to.
397
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
398
+ # @return [WorkOS::Role]
399
+ def create_organization_role(
400
+ organization_id:,
401
+ name:,
402
+ slug: nil,
403
+ description: nil,
404
+ resource_type_slug: nil,
405
+ request_options: {}
406
+ )
407
+ body = {
408
+ "slug" => slug,
409
+ "name" => name,
410
+ "description" => description,
411
+ "resource_type_slug" => resource_type_slug
412
+ }.compact
413
+ response = @client.request(
414
+ method: :post,
415
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles",
416
+ auth: true,
417
+ body: body,
418
+ request_options: request_options
419
+ )
420
+ result = WorkOS::Role.new(response.body)
421
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
422
+ result
423
+ end
424
+
425
+ # Get a custom role
426
+ # @param organization_id [String] The ID of the organization.
427
+ # @param slug [String] The slug of the role.
428
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
429
+ # @return [WorkOS::Role]
430
+ def get_organization_role(
431
+ organization_id:,
432
+ slug:,
433
+ request_options: {}
434
+ )
435
+ response = @client.request(
436
+ method: :get,
437
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}",
438
+ auth: true,
439
+ request_options: request_options
440
+ )
441
+ result = WorkOS::Role.new(response.body)
442
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
443
+ result
444
+ end
445
+
446
+ # Update a custom role
447
+ # @param organization_id [String] The ID of the organization.
448
+ # @param slug [String] The slug of the role.
449
+ # @param name [String, nil] A descriptive name for the role.
450
+ # @param description [String, nil] An optional description of the role's purpose.
451
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
452
+ # @return [WorkOS::Role]
453
+ def update_organization_role(
454
+ organization_id:,
455
+ slug:,
456
+ name: nil,
457
+ description: nil,
458
+ request_options: {}
459
+ )
460
+ body = {
461
+ "name" => name,
462
+ "description" => description
463
+ }.compact
464
+ response = @client.request(
465
+ method: :patch,
466
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}",
467
+ auth: true,
468
+ body: body,
469
+ request_options: request_options
470
+ )
471
+ result = WorkOS::Role.new(response.body)
472
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
473
+ result
474
+ end
475
+
476
+ # Delete a custom role
477
+ # @param organization_id [String] The ID of the organization.
478
+ # @param slug [String] The slug of the role.
479
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
480
+ # @return [void]
481
+ def delete_organization_role(
482
+ organization_id:,
483
+ slug:,
484
+ request_options: {}
485
+ )
486
+ @client.request(
487
+ method: :delete,
488
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}",
489
+ auth: true,
490
+ request_options: request_options
491
+ )
492
+ nil
493
+ end
494
+
495
+ # Add a permission to a custom role
496
+ # @param organization_id [String] The ID of the organization.
497
+ # @param slug [String] The slug of the role.
498
+ # @param body_slug [String] The slug of the permission to add to the role.
499
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
500
+ # @return [WorkOS::Role]
501
+ def create_role_permission(
502
+ organization_id:,
503
+ slug:,
504
+ body_slug:,
505
+ request_options: {}
506
+ )
507
+ body = {
508
+ "slug" => body_slug
509
+ }.compact
510
+ response = @client.request(
511
+ method: :post,
512
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}/permissions",
513
+ auth: true,
514
+ body: body,
515
+ request_options: request_options
516
+ )
517
+ result = WorkOS::Role.new(response.body)
518
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
519
+ result
520
+ end
521
+
522
+ # Set permissions for a custom role
523
+ # @param organization_id [String] The ID of the organization.
524
+ # @param slug [String] The slug of the role.
525
+ # @param permissions [Array<String>] The permission slugs to assign to the role.
526
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
527
+ # @return [WorkOS::Role]
528
+ def update_role_permissions(
529
+ organization_id:,
530
+ slug:,
531
+ permissions:,
532
+ request_options: {}
533
+ )
534
+ body = {
535
+ "permissions" => permissions
536
+ }.compact
537
+ response = @client.request(
538
+ method: :put,
539
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}/permissions",
540
+ auth: true,
541
+ body: body,
542
+ request_options: request_options
543
+ )
544
+ result = WorkOS::Role.new(response.body)
545
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
546
+ result
547
+ end
548
+
549
+ # Remove a permission from a custom role
550
+ # @param organization_id [String] The ID of the organization.
551
+ # @param slug [String] The slug of the role.
552
+ # @param permission_slug [String] The slug of the permission to remove.
553
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
554
+ # @return [WorkOS::Role]
555
+ def delete_role_permission(
556
+ organization_id:,
557
+ slug:,
558
+ permission_slug:,
559
+ request_options: {}
560
+ )
561
+ response = @client.request(
562
+ method: :delete,
563
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/roles/#{WorkOS::Util.encode_path(slug)}/permissions/#{WorkOS::Util.encode_path(permission_slug)}",
564
+ auth: true,
565
+ request_options: request_options
566
+ )
567
+ result = WorkOS::Role.new(response.body)
568
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
569
+ result
570
+ end
571
+
572
+ # Get a resource by external ID
573
+ # @param organization_id [String] The ID of the organization that owns the resource.
574
+ # @param resource_type_slug [String] The slug of the resource type.
575
+ # @param external_id [String] An identifier you provide to reference the resource in your system.
576
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
577
+ # @return [WorkOS::AuthorizationResource]
578
+ def get_organization_resource(
579
+ organization_id:,
580
+ resource_type_slug:,
581
+ external_id:,
582
+ request_options: {}
583
+ )
584
+ response = @client.request(
585
+ method: :get,
586
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/resources/#{WorkOS::Util.encode_path(resource_type_slug)}/#{WorkOS::Util.encode_path(external_id)}",
587
+ auth: true,
588
+ request_options: request_options
589
+ )
590
+ result = WorkOS::AuthorizationResource.new(response.body)
591
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
592
+ result
593
+ end
594
+
595
+ # Update a resource by external ID
596
+ # @param organization_id [String] The ID of the organization that owns the resource.
597
+ # @param resource_type_slug [String] The slug of the resource type.
598
+ # @param external_id [String] An identifier you provide to reference the resource in your system.
599
+ # @param name [String, nil] A display name for the resource.
600
+ # @param description [String, nil] An optional description of the resource.
601
+ # @param parent_resource_id [String, nil] The ID of the parent resource. Mutually exclusive with `parent_resource_external_id` and `parent_resource_type_slug`.
602
+ # @param parent_resource_external_id [String, nil] The external ID of the parent resource. Required with `parent_resource_type_slug`. Mutually exclusive with `parent_resource_id`.
603
+ # @param parent_resource_type_slug [String, nil] The resource type slug of the parent resource. Required with `parent_resource_external_id`. Mutually exclusive with `parent_resource_id`.
604
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
605
+ # @return [WorkOS::AuthorizationResource]
606
+ def update_organization_resource(
607
+ organization_id:,
608
+ resource_type_slug:,
609
+ external_id:,
610
+ name: nil,
611
+ description: nil,
612
+ parent_resource_id: nil,
613
+ parent_resource_external_id: nil,
614
+ parent_resource_type_slug: nil,
615
+ parent_resource: nil,
616
+ request_options: {}
617
+ )
618
+ params = {}.compact
619
+ if parent_resource
620
+ case parent_resource[:type]
621
+ when "by_id"
622
+ params["parent_resource_id"] = parent_resource[:parent_resource_id]
623
+ when "by_external_id"
624
+ params["parent_resource_external_id"] = parent_resource[:parent_resource_external_id]
625
+ params["parent_resource_type_slug"] = parent_resource[:parent_resource_type_slug]
626
+ end
627
+ end
628
+ body = {
629
+ "name" => name,
630
+ "description" => description,
631
+ "parent_resource_id" => parent_resource_id,
632
+ "parent_resource_external_id" => parent_resource_external_id,
633
+ "parent_resource_type_slug" => parent_resource_type_slug
634
+ }.compact
635
+ response = @client.request(
636
+ method: :patch,
637
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/resources/#{WorkOS::Util.encode_path(resource_type_slug)}/#{WorkOS::Util.encode_path(external_id)}",
638
+ auth: true,
639
+ params: params,
640
+ body: body,
641
+ request_options: request_options
642
+ )
643
+ result = WorkOS::AuthorizationResource.new(response.body)
644
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
645
+ result
646
+ end
647
+
648
+ # Delete an authorization resource by external ID
649
+ # @param organization_id [String] The ID of the organization that owns the resource.
650
+ # @param resource_type_slug [String] The slug of the resource type.
651
+ # @param external_id [String] An identifier you provide to reference the resource in your system.
652
+ # @param cascade_delete [Boolean, nil] If true, deletes all descendant resources and role assignments. If not set and the resource has children or assignments, the request will fail.
653
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
654
+ # @return [void]
655
+ def delete_organization_resource(
656
+ organization_id:,
657
+ resource_type_slug:,
658
+ external_id:,
659
+ cascade_delete: nil,
660
+ request_options: {}
661
+ )
662
+ params = {
663
+ "cascade_delete" => cascade_delete
664
+ }.compact
665
+ @client.request(
666
+ method: :delete,
667
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/resources/#{WorkOS::Util.encode_path(resource_type_slug)}/#{WorkOS::Util.encode_path(external_id)}",
668
+ auth: true,
669
+ params: params,
670
+ request_options: request_options
671
+ )
672
+ nil
673
+ end
674
+
675
+ # List memberships for a resource by external ID
676
+ # @param organization_id [String] The ID of the organization that owns the resource.
677
+ # @param resource_type_slug [String] The slug of the resource type this resource belongs to.
678
+ # @param external_id [String] An identifier you provide to reference the resource in your system.
679
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
680
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
681
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
682
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
683
+ # @param permission_slug [String] The permission slug to filter by. Only users with this permission on the resource are returned.
684
+ # @param assignment [WorkOS::Types::AuthorizationAssignment, nil] Filter by assignment type. Use "direct" for direct assignments only, or "indirect" to include inherited assignments.
685
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
686
+ # @return [WorkOS::Types::ListStruct<WorkOS::UserOrganizationMembershipBaseListData>]
687
+ def list_resource_organization_memberships(
688
+ organization_id:,
689
+ resource_type_slug:,
690
+ external_id:,
691
+ permission_slug:,
692
+ before: nil,
693
+ after: nil,
694
+ limit: nil,
695
+ order: "desc",
696
+ assignment: nil,
697
+ request_options: {}
698
+ )
699
+ params = {
700
+ "before" => before,
701
+ "after" => after,
702
+ "limit" => limit,
703
+ "order" => order,
704
+ "permission_slug" => permission_slug,
705
+ "assignment" => assignment
706
+ }.compact
707
+ response = @client.request(
708
+ method: :get,
709
+ path: "/authorization/organizations/#{WorkOS::Util.encode_path(organization_id)}/resources/#{WorkOS::Util.encode_path(resource_type_slug)}/#{WorkOS::Util.encode_path(external_id)}/organization_memberships",
710
+ auth: true,
711
+ params: params,
712
+ request_options: request_options
713
+ )
714
+ fetch_next = ->(cursor) {
715
+ list_resource_organization_memberships(
716
+ organization_id: organization_id,
717
+ resource_type_slug: resource_type_slug,
718
+ external_id: external_id,
719
+ before: before,
720
+ after: cursor,
721
+ limit: limit,
722
+ order: order,
723
+ permission_slug: permission_slug,
724
+ assignment: assignment,
725
+ request_options: request_options
726
+ )
727
+ }
728
+ WorkOS::Types::ListStruct.from_response(
729
+ response,
730
+ model: WorkOS::UserOrganizationMembershipBaseListData,
731
+ filters: {organization_id: organization_id, resource_type_slug: resource_type_slug, external_id: external_id, before: before, limit: limit, order: order, permission_slug: permission_slug, assignment: assignment},
732
+ fetch_next: fetch_next
733
+ )
734
+ end
735
+
736
+ # List resources
737
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
738
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
739
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
740
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
741
+ # @param organization_id [String, nil] Filter resources by organization ID.
742
+ # @param resource_type_slug [String, nil] Filter resources by resource type slug.
743
+ # @param search [String, nil] Search resources by name.
744
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
745
+ # @return [WorkOS::Types::ListStruct<WorkOS::AuthorizationResource>]
746
+ def list_resources(
747
+ before: nil,
748
+ after: nil,
749
+ limit: nil,
750
+ order: "desc",
751
+ organization_id: nil,
752
+ resource_type_slug: nil,
753
+ search: nil,
754
+ parent: nil,
755
+ request_options: {}
756
+ )
757
+ params = {
758
+ "before" => before,
759
+ "after" => after,
760
+ "limit" => limit,
761
+ "order" => order,
762
+ "organization_id" => organization_id,
763
+ "resource_type_slug" => resource_type_slug,
764
+ "search" => search
765
+ }.compact
766
+ if parent
767
+ case parent[:type]
768
+ when "by_id"
769
+ params["parent_resource_id"] = parent[:parent_resource_id]
770
+ when "by_external_id"
771
+ params["parent_resource_type_slug"] = parent[:parent_resource_type_slug]
772
+ params["parent_external_id"] = parent[:parent_external_id]
773
+ end
774
+ end
775
+ response = @client.request(
776
+ method: :get,
777
+ path: "/authorization/resources",
778
+ auth: true,
779
+ params: params,
780
+ request_options: request_options
781
+ )
782
+ fetch_next = ->(cursor) {
783
+ list_resources(
784
+ before: before,
785
+ after: cursor,
786
+ limit: limit,
787
+ order: order,
788
+ organization_id: organization_id,
789
+ resource_type_slug: resource_type_slug,
790
+ search: search,
791
+ parent: parent,
792
+ request_options: request_options
793
+ )
794
+ }
795
+ WorkOS::Types::ListStruct.from_response(
796
+ response,
797
+ model: WorkOS::AuthorizationResource,
798
+ filters: {before: before, limit: limit, order: order, organization_id: organization_id, resource_type_slug: resource_type_slug, search: search, parent: parent},
799
+ fetch_next: fetch_next
800
+ )
801
+ end
802
+
803
+ # Create an authorization resource
804
+ # @param external_id [String] An external identifier for the resource.
805
+ # @param name [String] A display name for the resource.
806
+ # @param description [String, nil] An optional description of the resource.
807
+ # @param resource_type_slug [String] The slug of the resource type.
808
+ # @param organization_id [String] The ID of the organization this resource belongs to.
809
+ # @param parent_resource_id [String, nil] The ID of the parent resource. Mutually exclusive with `parent_resource_external_id` and `parent_resource_type_slug`.
810
+ # @param parent_resource_external_id [String, nil] The external ID of the parent resource. Required with `parent_resource_type_slug`. Mutually exclusive with `parent_resource_id`.
811
+ # @param parent_resource_type_slug [String, nil] The resource type slug of the parent resource. Required with `parent_resource_external_id`. Mutually exclusive with `parent_resource_id`.
812
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
813
+ # @return [WorkOS::AuthorizationResource]
814
+ def create_resource(
815
+ external_id:,
816
+ name:,
817
+ resource_type_slug:,
818
+ organization_id:,
819
+ description: nil,
820
+ parent_resource_id: nil,
821
+ parent_resource_external_id: nil,
822
+ parent_resource_type_slug: nil,
823
+ parent_resource: nil,
824
+ request_options: {}
825
+ )
826
+ params = {}.compact
827
+ if parent_resource
828
+ case parent_resource[:type]
829
+ when "by_id"
830
+ params["parent_resource_id"] = parent_resource[:parent_resource_id]
831
+ when "by_external_id"
832
+ params["parent_resource_external_id"] = parent_resource[:parent_resource_external_id]
833
+ params["parent_resource_type_slug"] = parent_resource[:parent_resource_type_slug]
834
+ end
835
+ end
836
+ body = {
837
+ "external_id" => external_id,
838
+ "name" => name,
839
+ "description" => description,
840
+ "resource_type_slug" => resource_type_slug,
841
+ "organization_id" => organization_id,
842
+ "parent_resource_id" => parent_resource_id,
843
+ "parent_resource_external_id" => parent_resource_external_id,
844
+ "parent_resource_type_slug" => parent_resource_type_slug
845
+ }.compact
846
+ response = @client.request(
847
+ method: :post,
848
+ path: "/authorization/resources",
849
+ auth: true,
850
+ params: params,
851
+ body: body,
852
+ request_options: request_options
853
+ )
854
+ result = WorkOS::AuthorizationResource.new(response.body)
855
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
856
+ result
857
+ end
858
+
859
+ # Get a resource
860
+ # @param resource_id [String] The ID of the authorization resource.
861
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
862
+ # @return [WorkOS::AuthorizationResource]
863
+ def get_resource(
864
+ resource_id:,
865
+ request_options: {}
866
+ )
867
+ response = @client.request(
868
+ method: :get,
869
+ path: "/authorization/resources/#{WorkOS::Util.encode_path(resource_id)}",
870
+ auth: true,
871
+ request_options: request_options
872
+ )
873
+ result = WorkOS::AuthorizationResource.new(response.body)
874
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
875
+ result
876
+ end
877
+
878
+ # Update a resource
879
+ # @param resource_id [String] The ID of the authorization resource.
880
+ # @param name [String, nil] A display name for the resource.
881
+ # @param description [String, nil] An optional description of the resource.
882
+ # @param parent_resource_id [String, nil] The ID of the parent resource. Mutually exclusive with `parent_resource_external_id` and `parent_resource_type_slug`.
883
+ # @param parent_resource_external_id [String, nil] The external ID of the parent resource. Required with `parent_resource_type_slug`. Mutually exclusive with `parent_resource_id`.
884
+ # @param parent_resource_type_slug [String, nil] The resource type slug of the parent resource. Required with `parent_resource_external_id`. Mutually exclusive with `parent_resource_id`.
885
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
886
+ # @return [WorkOS::AuthorizationResource]
887
+ def update_resource(
888
+ resource_id:,
889
+ name: nil,
890
+ description: nil,
891
+ parent_resource_id: nil,
892
+ parent_resource_external_id: nil,
893
+ parent_resource_type_slug: nil,
894
+ parent_resource: nil,
895
+ request_options: {}
896
+ )
897
+ params = {}.compact
898
+ if parent_resource
899
+ case parent_resource[:type]
900
+ when "by_id"
901
+ params["parent_resource_id"] = parent_resource[:parent_resource_id]
902
+ when "by_external_id"
903
+ params["parent_resource_external_id"] = parent_resource[:parent_resource_external_id]
904
+ params["parent_resource_type_slug"] = parent_resource[:parent_resource_type_slug]
905
+ end
906
+ end
907
+ body = {
908
+ "name" => name,
909
+ "description" => description,
910
+ "parent_resource_id" => parent_resource_id,
911
+ "parent_resource_external_id" => parent_resource_external_id,
912
+ "parent_resource_type_slug" => parent_resource_type_slug
913
+ }.compact
914
+ response = @client.request(
915
+ method: :patch,
916
+ path: "/authorization/resources/#{WorkOS::Util.encode_path(resource_id)}",
917
+ auth: true,
918
+ params: params,
919
+ body: body,
920
+ request_options: request_options
921
+ )
922
+ result = WorkOS::AuthorizationResource.new(response.body)
923
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
924
+ result
925
+ end
926
+
927
+ # Delete an authorization resource
928
+ # @param resource_id [String] The ID of the authorization resource.
929
+ # @param cascade_delete [Boolean, nil] If true, deletes all descendant resources and role assignments. If not set and the resource has children or assignments, the request will fail.
930
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
931
+ # @return [void]
932
+ def delete_resource(
933
+ resource_id:,
934
+ cascade_delete: nil,
935
+ request_options: {}
936
+ )
937
+ params = {
938
+ "cascade_delete" => cascade_delete
939
+ }.compact
940
+ @client.request(
941
+ method: :delete,
942
+ path: "/authorization/resources/#{WorkOS::Util.encode_path(resource_id)}",
943
+ auth: true,
944
+ params: params,
945
+ request_options: request_options
946
+ )
947
+ nil
948
+ end
949
+
950
+ # List organization memberships for resource
951
+ # @param resource_id [String] The ID of the authorization resource.
952
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
953
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
954
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
955
+ # @param order [WorkOS::Types::AuthorizationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
956
+ # @param permission_slug [String] The permission slug to filter by. Only users with this permission on the resource are returned.
957
+ # @param assignment [WorkOS::Types::AuthorizationAssignment, nil] Filter by assignment type. Use `direct` for direct assignments only, or `indirect` to include inherited assignments.
958
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
959
+ # @return [WorkOS::Types::ListStruct<WorkOS::UserOrganizationMembershipBaseListData>]
960
+ def list_memberships_for_resource(
961
+ resource_id:,
962
+ permission_slug:,
963
+ before: nil,
964
+ after: nil,
965
+ limit: nil,
966
+ order: "desc",
967
+ assignment: nil,
968
+ request_options: {}
969
+ )
970
+ params = {
971
+ "before" => before,
972
+ "after" => after,
973
+ "limit" => limit,
974
+ "order" => order,
975
+ "permission_slug" => permission_slug,
976
+ "assignment" => assignment
977
+ }.compact
978
+ response = @client.request(
979
+ method: :get,
980
+ path: "/authorization/resources/#{WorkOS::Util.encode_path(resource_id)}/organization_memberships",
981
+ auth: true,
982
+ params: params,
983
+ request_options: request_options
984
+ )
985
+ fetch_next = ->(cursor) {
986
+ list_memberships_for_resource(
987
+ resource_id: resource_id,
988
+ before: before,
989
+ after: cursor,
990
+ limit: limit,
991
+ order: order,
992
+ permission_slug: permission_slug,
993
+ assignment: assignment,
994
+ request_options: request_options
995
+ )
996
+ }
997
+ WorkOS::Types::ListStruct.from_response(
998
+ response,
999
+ model: WorkOS::UserOrganizationMembershipBaseListData,
1000
+ filters: {resource_id: resource_id, before: before, limit: limit, order: order, permission_slug: permission_slug, assignment: assignment},
1001
+ fetch_next: fetch_next
1002
+ )
1003
+ end
1004
+
1005
+ # List environment roles
1006
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1007
+ # @return [WorkOS::RoleList]
1008
+ def list_environment_roles(request_options: {})
1009
+ response = @client.request(
1010
+ method: :get,
1011
+ path: "/authorization/roles",
1012
+ auth: true,
1013
+ request_options: request_options
1014
+ )
1015
+ result = WorkOS::RoleList.new(response.body)
1016
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1017
+ result
1018
+ end
1019
+
1020
+ # Create an environment role
1021
+ # @param slug [String] A unique slug for the role.
1022
+ # @param name [String] A descriptive name for the role.
1023
+ # @param description [String, nil] An optional description of the role.
1024
+ # @param resource_type_slug [String, nil] The slug of the resource type the role is scoped to.
1025
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1026
+ # @return [WorkOS::Role]
1027
+ def create_environment_role(
1028
+ slug:,
1029
+ name:,
1030
+ description: nil,
1031
+ resource_type_slug: nil,
1032
+ request_options: {}
1033
+ )
1034
+ body = {
1035
+ "slug" => slug,
1036
+ "name" => name,
1037
+ "description" => description,
1038
+ "resource_type_slug" => resource_type_slug
1039
+ }.compact
1040
+ response = @client.request(
1041
+ method: :post,
1042
+ path: "/authorization/roles",
1043
+ auth: true,
1044
+ body: body,
1045
+ request_options: request_options
1046
+ )
1047
+ result = WorkOS::Role.new(response.body)
1048
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1049
+ result
1050
+ end
1051
+
1052
+ # Get an environment role
1053
+ # @param slug [String] The slug of the environment role.
1054
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1055
+ # @return [WorkOS::Role]
1056
+ def get_environment_role(
1057
+ slug:,
1058
+ request_options: {}
1059
+ )
1060
+ response = @client.request(
1061
+ method: :get,
1062
+ path: "/authorization/roles/#{WorkOS::Util.encode_path(slug)}",
1063
+ auth: true,
1064
+ request_options: request_options
1065
+ )
1066
+ result = WorkOS::Role.new(response.body)
1067
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1068
+ result
1069
+ end
1070
+
1071
+ # Update an environment role
1072
+ # @param slug [String] The slug of the environment role.
1073
+ # @param name [String, nil] A descriptive name for the role.
1074
+ # @param description [String, nil] An optional description of the role.
1075
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1076
+ # @return [WorkOS::Role]
1077
+ def update_environment_role(
1078
+ slug:,
1079
+ name: nil,
1080
+ description: nil,
1081
+ request_options: {}
1082
+ )
1083
+ body = {
1084
+ "name" => name,
1085
+ "description" => description
1086
+ }.compact
1087
+ response = @client.request(
1088
+ method: :patch,
1089
+ path: "/authorization/roles/#{WorkOS::Util.encode_path(slug)}",
1090
+ auth: true,
1091
+ body: body,
1092
+ request_options: request_options
1093
+ )
1094
+ result = WorkOS::Role.new(response.body)
1095
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1096
+ result
1097
+ end
1098
+
1099
+ # Add a permission to an environment role
1100
+ # @param slug [String] The slug of the environment role.
1101
+ # @param body_slug [String] The slug of the permission to add to the role.
1102
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1103
+ # @return [WorkOS::Role]
1104
+ def add_environment_role_permission(
1105
+ slug:,
1106
+ body_slug:,
1107
+ request_options: {}
1108
+ )
1109
+ body = {
1110
+ "slug" => body_slug
1111
+ }.compact
1112
+ response = @client.request(
1113
+ method: :post,
1114
+ path: "/authorization/roles/#{WorkOS::Util.encode_path(slug)}/permissions",
1115
+ auth: true,
1116
+ body: body,
1117
+ request_options: request_options
1118
+ )
1119
+ result = WorkOS::Role.new(response.body)
1120
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1121
+ result
1122
+ end
1123
+
1124
+ # Set permissions for an environment role
1125
+ # @param slug [String] The slug of the environment role.
1126
+ # @param permissions [Array<String>] The permission slugs to assign to the role.
1127
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1128
+ # @return [WorkOS::Role]
1129
+ def set_environment_role_permissions(
1130
+ slug:,
1131
+ permissions:,
1132
+ request_options: {}
1133
+ )
1134
+ body = {
1135
+ "permissions" => permissions
1136
+ }.compact
1137
+ response = @client.request(
1138
+ method: :put,
1139
+ path: "/authorization/roles/#{WorkOS::Util.encode_path(slug)}/permissions",
1140
+ auth: true,
1141
+ body: body,
1142
+ request_options: request_options
1143
+ )
1144
+ result = WorkOS::Role.new(response.body)
1145
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1146
+ result
1147
+ end
1148
+
1149
+ # List permissions
1150
+ # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
1151
+ # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
1152
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
1153
+ # @param order [WorkOS::Types::PermissionsOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending.
1154
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1155
+ # @return [WorkOS::Types::ListStruct<WorkOS::AuthorizationPermission>]
1156
+ def list_permissions(
1157
+ before: nil,
1158
+ after: nil,
1159
+ limit: nil,
1160
+ order: "desc",
1161
+ request_options: {}
1162
+ )
1163
+ params = {
1164
+ "before" => before,
1165
+ "after" => after,
1166
+ "limit" => limit,
1167
+ "order" => order
1168
+ }.compact
1169
+ response = @client.request(
1170
+ method: :get,
1171
+ path: "/authorization/permissions",
1172
+ auth: true,
1173
+ params: params,
1174
+ request_options: request_options
1175
+ )
1176
+ fetch_next = ->(cursor) {
1177
+ list_permissions(
1178
+ before: before,
1179
+ after: cursor,
1180
+ limit: limit,
1181
+ order: order,
1182
+ request_options: request_options
1183
+ )
1184
+ }
1185
+ WorkOS::Types::ListStruct.from_response(
1186
+ response,
1187
+ model: WorkOS::AuthorizationPermission,
1188
+ filters: {before: before, limit: limit, order: order},
1189
+ fetch_next: fetch_next
1190
+ )
1191
+ end
1192
+
1193
+ # Create a permission
1194
+ # @param slug [String] A unique key to reference the permission. Must be lowercase and contain only letters, numbers, hyphens, underscores, colons, periods, and asterisks.
1195
+ # @param name [String] A descriptive name for the Permission.
1196
+ # @param description [String, nil] An optional description of the Permission.
1197
+ # @param resource_type_slug [String, nil] The slug of the resource type this permission is scoped to.
1198
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1199
+ # @return [WorkOS::Permission]
1200
+ def create_permission(
1201
+ slug:,
1202
+ name:,
1203
+ description: nil,
1204
+ resource_type_slug: nil,
1205
+ request_options: {}
1206
+ )
1207
+ body = {
1208
+ "slug" => slug,
1209
+ "name" => name,
1210
+ "description" => description,
1211
+ "resource_type_slug" => resource_type_slug
1212
+ }.compact
1213
+ response = @client.request(
1214
+ method: :post,
1215
+ path: "/authorization/permissions",
1216
+ auth: true,
1217
+ body: body,
1218
+ request_options: request_options
1219
+ )
1220
+ result = WorkOS::Permission.new(response.body)
1221
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1222
+ result
1223
+ end
1224
+
1225
+ # Get a permission
1226
+ # @param slug [String] A unique key to reference the permission. Must be lowercase and contain only letters, numbers, hyphens, underscores, colons, periods, and asterisks.
1227
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1228
+ # @return [WorkOS::AuthorizationPermission]
1229
+ def get_permission(
1230
+ slug:,
1231
+ request_options: {}
1232
+ )
1233
+ response = @client.request(
1234
+ method: :get,
1235
+ path: "/authorization/permissions/#{WorkOS::Util.encode_path(slug)}",
1236
+ auth: true,
1237
+ request_options: request_options
1238
+ )
1239
+ result = WorkOS::AuthorizationPermission.new(response.body)
1240
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1241
+ result
1242
+ end
1243
+
1244
+ # Update a permission
1245
+ # @param slug [String] A unique key to reference the permission. Must be lowercase and contain only letters, numbers, hyphens, underscores, colons, periods, and asterisks.
1246
+ # @param name [String, nil] A descriptive name for the Permission.
1247
+ # @param description [String, nil] An optional description of the Permission.
1248
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1249
+ # @return [WorkOS::AuthorizationPermission]
1250
+ def update_permission(
1251
+ slug:,
1252
+ name: nil,
1253
+ description: nil,
1254
+ request_options: {}
1255
+ )
1256
+ body = {
1257
+ "name" => name,
1258
+ "description" => description
1259
+ }.compact
1260
+ response = @client.request(
1261
+ method: :patch,
1262
+ path: "/authorization/permissions/#{WorkOS::Util.encode_path(slug)}",
1263
+ auth: true,
1264
+ body: body,
1265
+ request_options: request_options
1266
+ )
1267
+ result = WorkOS::AuthorizationPermission.new(response.body)
1268
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
1269
+ result
1270
+ end
1271
+
1272
+ # Delete a permission
1273
+ # @param slug [String] A unique key to reference the permission. Must be lowercase and contain only letters, numbers, hyphens, underscores, colons, periods, and asterisks.
1274
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1275
+ # @return [void]
1276
+ def delete_permission(
1277
+ slug:,
1278
+ request_options: {}
1279
+ )
1280
+ @client.request(
1281
+ method: :delete,
1282
+ path: "/authorization/permissions/#{WorkOS::Util.encode_path(slug)}",
1283
+ auth: true,
1284
+ request_options: request_options
1285
+ )
1286
+ nil
1287
+ end
1288
+ end
1289
+ end