workos 10.4.0 → 10.6.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 (558) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/docs.yml +2 -2
  4. data/.github/workflows/lint.yml +1 -1
  5. data/.github/workflows/release-please.yml +4 -4
  6. data/.github/workflows/release.yml +1 -1
  7. data/.last-synced-sha +1 -1
  8. data/.oagen-manifest.json +454 -2
  9. data/.release-please-manifest.json +1 -1
  10. data/.ruby-version +1 -1
  11. data/CHANGELOG.md +326 -0
  12. data/Gemfile.lock +2 -2
  13. data/README.md +2 -2
  14. data/lib/workos/admin_portal/generate_link.rb +3 -0
  15. data/lib/workos/admin_portal/revoke_link.rb +22 -0
  16. data/lib/workos/admin_portal.rb +27 -0
  17. data/lib/workos/agents/agent_blueprint.rb +3 -0
  18. data/lib/workos/agents/agent_blueprint_invocable_as.rb +18 -0
  19. data/lib/workos/agents/agent_blueprints_create_request.rb +3 -0
  20. data/lib/workos/agents/agent_blueprints_create_request_invocable_as.rb +18 -0
  21. data/lib/workos/agents/agent_blueprints_update_request.rb +3 -0
  22. data/lib/workos/agents/agent_blueprints_update_request_invocable_as.rb +18 -0
  23. data/lib/workos/agents/agent_registration.rb +3 -0
  24. data/lib/workos/agents/list_metadata.rb +22 -0
  25. data/lib/workos/agents.rb +25 -0
  26. data/lib/workos/api_keys/api_key_data_integration_vended_credential.rb +28 -0
  27. data/lib/workos/authorization/patch_group_role_assignments.rb +22 -0
  28. data/lib/workos/authorization/user_role_assignment_source.rb +5 -2
  29. data/lib/workos/authorization/user_role_assignment_source_group.rb +7 -0
  30. data/lib/workos/authorization.rb +26 -0
  31. data/lib/workos/base_client.rb +3 -0
  32. data/lib/workos/connect/connect_application.rb +3 -0
  33. data/lib/workos/connect/create_oauth_application.rb +3 -0
  34. data/lib/workos/connect/update_oauth_application.rb +5 -2
  35. data/lib/workos/connect.rb +6 -0
  36. data/lib/workos/directory_sync/directory_sync_rate_limit_error.rb +25 -0
  37. data/lib/workos/directory_sync/directory_sync_response.rb +18 -0
  38. data/lib/workos/directory_sync.rb +19 -0
  39. data/lib/workos/events.rb +3 -11
  40. data/lib/workos/feature_flags/flag_created_data.rb +1 -46
  41. data/lib/workos/feature_flags/flag_deleted_data.rb +1 -1
  42. data/lib/workos/feature_flags/flag_rule.rb +49 -0
  43. data/lib/workos/feature_flags/flag_rule_updated_data.rb +1 -1
  44. data/lib/workos/feature_flags/flag_target.rb +52 -0
  45. data/lib/workos/feature_flags/flag_target_with_rule_id.rb +46 -0
  46. data/lib/workos/feature_flags/flag_target_with_value_type.rb +49 -0
  47. data/lib/workos/feature_flags/flag_updated_context_previous_attribute.rb +1 -12
  48. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +1 -25
  49. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data_owner.rb +7 -0
  50. data/lib/workos/feature_flags/flag_updated_data.rb +1 -1
  51. data/lib/workos/groups/patch_group_memberships.rb +22 -0
  52. data/lib/workos/groups.rb +28 -0
  53. data/lib/workos/inflections.rb +30 -0
  54. data/lib/workos/organizations/it_contact_list_list_metadata.rb +22 -0
  55. data/lib/workos/organizations/organization_authentication_methods_required_oauth_error_body.rb +22 -0
  56. data/lib/workos/organizations/organization_connected_account_import_error_body.rb +22 -0
  57. data/lib/workos/organizations/organization_membership_not_found_oauth_error_body.rb +22 -0
  58. data/lib/workos/organizations/organization_not_found_oauth_error_body.rb +22 -0
  59. data/lib/workos/organizations/organization_selection_required_error_body.rb +22 -0
  60. data/lib/workos/organizations/organization_selection_required_error_body_with_organization.rb +7 -0
  61. data/lib/workos/organizations/organization_selection_required_error_body_with_organizations.rb +25 -0
  62. data/lib/workos/pipes/connected_account.rb +11 -2
  63. data/lib/workos/pipes/connected_account_input.rb +6 -0
  64. data/lib/workos/pipes/connected_account_warning.rb +22 -0
  65. data/lib/workos/pipes/create_connected_account.rb +40 -0
  66. data/lib/workos/pipes/create_organization_connected_account.rb +43 -0
  67. data/lib/workos/pipes/data_integration_authorize_url_response.rb +9 -2
  68. data/lib/workos/pipes/data_integration_credentials_response.rb +1 -1
  69. data/lib/workos/pipes/data_integration_finish_connection_response.rb +18 -0
  70. data/lib/workos/pipes/{data_integration_credentials_response_credential.rb → data_integration_vended_credential.rb} +9 -3
  71. data/lib/workos/pipes/data_integrations_create_api_key_connection_request.rb +37 -0
  72. data/lib/workos/pipes/data_integrations_create_client_credentials_connection_request.rb +43 -0
  73. data/lib/workos/pipes/data_integrations_finish_connection_request.rb +25 -0
  74. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +17 -2
  75. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +10 -1
  76. data/lib/workos/pipes/data_integrations_list_response_data_connected_account_warning.rb +7 -0
  77. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +14 -5
  78. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +14 -5
  79. data/lib/workos/pipes/organization_connected_account.rb +40 -0
  80. data/lib/workos/pipes.rb +216 -20
  81. data/lib/workos/shared/access_denied_oauth_error_body.rb +22 -0
  82. data/lib/workos/shared/account_selection_required_error_body.rb +7 -0
  83. data/lib/workos/shared/agent_blueprint_created_data.rb +3 -0
  84. data/lib/workos/shared/agent_blueprint_created_data_invocable_as.rb +18 -0
  85. data/lib/workos/shared/agent_blueprint_updated_data.rb +40 -1
  86. data/lib/workos/shared/agent_blueprint_updated_data_invocable_as.rb +18 -0
  87. data/lib/workos/shared/already_claimed_error_body.rb +22 -0
  88. data/lib/workos/shared/application_consent_required_error_body.rb +22 -0
  89. data/lib/workos/shared/auth_method_mismatch_error_body.rb +7 -0
  90. data/lib/workos/shared/authorization_pending_oauth_error_body.rb +22 -0
  91. data/lib/workos/shared/authorization_url_not_found_error_body.rb +22 -0
  92. data/lib/workos/shared/authorization_url_request_error_body.rb +22 -0
  93. data/lib/workos/shared/client_credentials_data_integration_vended_credential.rb +40 -0
  94. data/lib/workos/shared/code_challenge_not_found_error_body.rb +22 -0
  95. data/lib/workos/shared/connect_application_oauth.rb +3 -0
  96. data/lib/workos/shared/connected_account_limit_reached_error_body.rb +22 -0
  97. data/lib/workos/shared/daily_quota_exceeded_error_body.rb +22 -0
  98. data/lib/workos/shared/data_integration_access_token_response_with_access_token.rb +22 -0
  99. data/lib/workos/shared/data_integration_access_token_response_with_access_token_access_token.rb +7 -0
  100. data/lib/workos/shared/data_integration_access_token_response_with_error.rb +22 -0
  101. data/lib/workos/shared/data_integration_credentials_response_with_credential.rb +22 -0
  102. data/lib/workos/shared/data_integration_credentials_response_with_error.rb +22 -0
  103. data/lib/workos/shared/entity_not_found_error_body.rb +22 -0
  104. data/lib/workos/shared/error_body.rb +7 -0
  105. data/lib/workos/shared/error_body_with_code.rb +7 -0
  106. data/lib/workos/shared/error_body_with_code_errors.rb +25 -0
  107. data/lib/workos/shared/error_body_with_code_field_error.rb +22 -0
  108. data/lib/workos/shared/error_body_with_code_field_errors.rb +22 -0
  109. data/lib/workos/shared/error_body_with_code_instance_path_error.rb +18 -0
  110. data/lib/workos/shared/error_body_with_code_instance_path_errors.rb +25 -0
  111. data/lib/workos/shared/error_body_with_code_status_code.rb +25 -0
  112. data/lib/workos/shared/error_body_with_constraints_property_error.rb +22 -0
  113. data/lib/workos/shared/error_body_with_constraints_property_errors.rb +22 -0
  114. data/lib/workos/shared/error_body_with_error.rb +22 -0
  115. data/lib/workos/shared/error_body_with_error_message_list.rb +22 -0
  116. data/lib/workos/shared/error_body_with_message_or_message_list.rb +18 -0
  117. data/lib/workos/shared/expired_token_oauth_error_body.rb +22 -0
  118. data/lib/workos/shared/external_auth_session_already_completed_error_body.rb +22 -0
  119. data/lib/workos/shared/external_id_already_used_error_body.rb +22 -0
  120. data/lib/workos/shared/extra_attributes_required_oauth_error_body.rb +22 -0
  121. data/lib/workos/shared/feature_flags_flag_created.rb +34 -0
  122. data/lib/workos/shared/feature_flags_flag_created_context.rb +22 -0
  123. data/lib/workos/shared/feature_flags_flag_created_context_actor.rb +25 -0
  124. data/lib/workos/shared/feature_flags_flag_created_data.rb +52 -0
  125. data/lib/workos/shared/feature_flags_flag_created_data_owner.rb +7 -0
  126. data/lib/workos/shared/feature_flags_flag_deleted.rb +34 -0
  127. data/lib/workos/shared/feature_flags_flag_deleted_context.rb +22 -0
  128. data/lib/workos/shared/feature_flags_flag_deleted_context_actor.rb +25 -0
  129. data/lib/workos/shared/feature_flags_flag_deleted_data.rb +7 -0
  130. data/lib/workos/shared/feature_flags_flag_deleted_data_owner.rb +7 -0
  131. data/lib/workos/shared/feature_flags_flag_rule_created.rb +34 -0
  132. data/lib/workos/shared/feature_flags_flag_rule_created_context.rb +22 -0
  133. data/lib/workos/shared/feature_flags_flag_rule_created_context_actor.rb +25 -0
  134. data/lib/workos/shared/feature_flags_flag_rule_deleted.rb +34 -0
  135. data/lib/workos/shared/feature_flags_flag_rule_deleted_context.rb +22 -0
  136. data/lib/workos/shared/feature_flags_flag_rule_deleted_context_actor.rb +25 -0
  137. data/lib/workos/shared/feature_flags_flag_rule_updated.rb +34 -0
  138. data/lib/workos/shared/feature_flags_flag_rule_updated_context.rb +25 -0
  139. data/lib/workos/shared/feature_flags_flag_rule_updated_context_actor.rb +25 -0
  140. data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute.rb +18 -0
  141. data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute_data.rb +18 -0
  142. data/lib/workos/shared/feature_flags_flag_target_created.rb +34 -0
  143. data/lib/workos/shared/feature_flags_flag_target_created_context.rb +22 -0
  144. data/lib/workos/shared/feature_flags_flag_target_created_context_actor.rb +25 -0
  145. data/lib/workos/shared/feature_flags_flag_target_deleted.rb +34 -0
  146. data/lib/workos/shared/feature_flags_flag_target_deleted_context.rb +22 -0
  147. data/lib/workos/shared/feature_flags_flag_target_deleted_context_actor.rb +25 -0
  148. data/lib/workos/shared/feature_flags_flag_updated.rb +34 -0
  149. data/lib/workos/shared/feature_flags_flag_updated_context.rb +25 -0
  150. data/lib/workos/shared/feature_flags_flag_updated_context_actor.rb +25 -0
  151. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute.rb +18 -0
  152. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data.rb +34 -0
  153. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data_owner.rb +7 -0
  154. data/lib/workos/shared/feature_flags_flag_updated_data.rb +7 -0
  155. data/lib/workos/shared/feature_flags_flag_updated_data_owner.rb +7 -0
  156. data/lib/workos/shared/idp_metadata_fetch_failed_error_body.rb +22 -0
  157. data/lib/workos/shared/invalid_client_oauth_error_body.rb +22 -0
  158. data/lib/workos/shared/invalid_connection_oauth_error_body.rb +22 -0
  159. data/lib/workos/shared/invalid_credentials_error_body.rb +22 -0
  160. data/lib/workos/shared/invalid_email_error_body.rb +22 -0
  161. data/lib/workos/shared/invalid_grant_oauth_error_body.rb +22 -0
  162. data/lib/workos/shared/invalid_idp_sso_url_error_body.rb +22 -0
  163. data/lib/workos/shared/invalid_link_authorization_code_oauth_error_body.rb +22 -0
  164. data/lib/workos/shared/invalid_locale_error_body.rb +22 -0
  165. data/lib/workos/shared/invalid_metadata_error_body.rb +22 -0
  166. data/lib/workos/shared/invalid_one_time_code_error_body.rb +22 -0
  167. data/lib/workos/shared/invalid_organization_id_error_body.rb +22 -0
  168. data/lib/workos/shared/invalid_password_hash_error_body.rb +22 -0
  169. data/lib/workos/shared/invalid_pending_authentication_token_error_body.rb +22 -0
  170. data/lib/workos/shared/invalid_profile_oauth_error_body.rb +22 -0
  171. data/lib/workos/shared/invalid_refresh_token_error_body.rb +22 -0
  172. data/lib/workos/shared/invalid_request_oauth_error_body.rb +22 -0
  173. data/lib/workos/shared/invalid_request_parameters_error_body.rb +22 -0
  174. data/lib/workos/shared/invalid_request_parameters_error_body_with_errors.rb +25 -0
  175. data/lib/workos/shared/invalid_role_error_body.rb +22 -0
  176. data/lib/workos/shared/invalid_url_error_body.rb +22 -0
  177. data/lib/workos/shared/mfa_challenge_error_body.rb +22 -0
  178. data/lib/workos/shared/mfa_enrollment_error_body.rb +22 -0
  179. data/lib/workos/shared/mfa_enrollment_oauth_error_body.rb +22 -0
  180. data/lib/workos/shared/multiple_roles_not_enabled_error_body.rb +22 -0
  181. data/lib/workos/shared/must_use_sso_for_selected_organization_message_error_body.rb +18 -0
  182. data/lib/workos/shared/oauth_data_integration_vended_credential.rb +40 -0
  183. data/lib/workos/shared/oauth_error_body.rb +22 -0
  184. data/lib/workos/shared/one_time_code_expired_error_body.rb +22 -0
  185. data/lib/workos/shared/one_time_code_previously_used_error_body.rb +22 -0
  186. data/lib/workos/shared/one_time_code_too_many_attempts_error_body.rb +22 -0
  187. data/lib/workos/shared/passkey_progressive_enrollment_error_body.rb +22 -0
  188. data/lib/workos/shared/phone_number_required_error_body.rb +22 -0
  189. data/lib/workos/shared/pipe_connected_account.rb +6 -0
  190. data/lib/workos/shared/pkce_not_supported_oauth_error_body.rb +22 -0
  191. data/lib/workos/shared/policy_denied_error_body.rb +22 -0
  192. data/lib/workos/shared/radar_challenge_error_body.rb +22 -0
  193. data/lib/workos/shared/radar_sign_up_challenge_error_body.rb +22 -0
  194. data/lib/workos/shared/radar_sms_sign_in_challenge_error_body.rb +22 -0
  195. data/lib/workos/shared/rate_limit_exceeded_error_body_with_retry_after.rb +25 -0
  196. data/lib/workos/shared/sign_up_not_allowed_oauth_error_body.rb +22 -0
  197. data/lib/workos/shared/slow_down_oauth_error_body.rb +22 -0
  198. data/lib/workos/shared/sms_challenge_quota_reached_error_body.rb +22 -0
  199. data/lib/workos/shared/sms_challenge_rate_limited_error_body.rb +22 -0
  200. data/lib/workos/shared/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rb +31 -0
  201. data/lib/workos/shared/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rb +25 -0
  202. data/lib/workos/shared/token_too_big_oauth_error_body.rb +22 -0
  203. data/lib/workos/shared/too_many_failed_verification_attempts_error_body_with_retry_after.rb +25 -0
  204. data/lib/workos/shared/too_many_requests_oauth_error_body.rb +22 -0
  205. data/lib/workos/shared/unauthorized_client_oauth_error_body.rb +22 -0
  206. data/lib/workos/shared/unauthorized_error_body.rb +18 -0
  207. data/lib/workos/shared/update_audit_logs_retention_with_retention_period.rb +18 -0
  208. data/lib/workos/shared/update_audit_logs_retention_with_retention_period_in_days.rb +26 -0
  209. data/lib/workos/shared/update_user_organization_membership_with_role_slug.rb +18 -0
  210. data/lib/workos/shared/update_user_organization_membership_with_role_slugs.rb +18 -0
  211. data/lib/workos/shared/verification_id_required_error_body.rb +22 -0
  212. data/lib/workos/sso/connection_could_not_be_verified_error_body.rb +22 -0
  213. data/lib/workos/sso/connection_creation_conflict_error_body.rb +22 -0
  214. data/lib/workos/sso/connection_creation_not_found_error_body.rb +22 -0
  215. data/lib/workos/sso/connection_finish_error_body.rb +22 -0
  216. data/lib/workos/sso/connection_type_not_updatable_error_body.rb +22 -0
  217. data/lib/workos/sso/token_query.rb +3 -0
  218. data/lib/workos/sso.rb +3 -0
  219. data/lib/workos/types/agent_blueprint_created_data_invocable_as_instance_types.rb +13 -0
  220. data/lib/workos/types/agent_blueprint_invocable_as_instance_types.rb +9 -0
  221. data/lib/workos/types/agent_blueprint_updated_data_invocable_as_instance_types.rb +9 -0
  222. data/lib/workos/types/agent_blueprints_create_request_invocable_as_instance_types.rb +9 -0
  223. data/lib/workos/types/agent_blueprints_update_request_invocable_as_instance_types.rb +9 -0
  224. data/lib/workos/types/agent_instance_created_data_type.rb +1 -5
  225. data/lib/workos/types/agent_instance_deleted_data_type.rb +1 -1
  226. data/lib/workos/types/agent_instance_type.rb +1 -1
  227. data/lib/workos/types/authorization_url_not_found_error_body_code.rb +14 -0
  228. data/lib/workos/types/authorization_url_request_error_body_code.rb +14 -0
  229. data/lib/workos/types/connection_creation_conflict_error_body_code.rb +13 -0
  230. data/lib/workos/types/connection_creation_not_found_error_body_code.rb +13 -0
  231. data/lib/workos/types/connection_finish_error_body_code.rb +29 -0
  232. data/lib/workos/types/create_connected_account_state.rb +9 -0
  233. data/lib/workos/types/create_magic_code_and_return_locale.rb +101 -0
  234. data/lib/workos/types/create_organization_connected_account_state.rb +9 -0
  235. data/lib/workos/types/create_password_reset_token_locale.rb +9 -0
  236. data/lib/workos/types/create_user_invite_options_locale.rb +1 -93
  237. data/lib/workos/types/create_webhook_endpoint_events.rb +9 -1
  238. data/lib/workos/types/data_integration_access_token_response_with_error_error.rb +9 -0
  239. data/lib/workos/types/data_integration_credentials_response_with_error_error.rb +9 -0
  240. data/lib/workos/types/data_integrations_create_api_key_connection_request_connection_owner.rb +9 -0
  241. data/lib/workos/types/data_integrations_create_client_credentials_connection_request_connection_owner.rb +9 -0
  242. data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_intent.rb +13 -0
  243. data/lib/workos/types/error_body_code.rb +183 -0
  244. data/lib/workos/types/feature_flags_flag_created_context_actor_source.rb +9 -0
  245. data/lib/workos/types/feature_flags_flag_deleted_context_actor_source.rb +9 -0
  246. data/lib/workos/types/feature_flags_flag_rule_created_context_actor_source.rb +9 -0
  247. data/lib/workos/types/feature_flags_flag_rule_deleted_context_actor_source.rb +9 -0
  248. data/lib/workos/types/feature_flags_flag_rule_updated_context_actor_source.rb +9 -0
  249. data/lib/workos/types/feature_flags_flag_target_created_context_actor_source.rb +9 -0
  250. data/lib/workos/types/feature_flags_flag_target_deleted_context_actor_source.rb +9 -0
  251. data/lib/workos/types/feature_flags_flag_updated_context_actor_source.rb +9 -0
  252. data/lib/workos/types/organization_connected_account_import_error_body_code.rb +14 -0
  253. data/lib/workos/types/organization_connected_account_state.rb +9 -0
  254. data/lib/workos/types/resend_user_invite_options_locale.rb +1 -1
  255. data/lib/workos/types/resource_export_completed_data_resource_type.rb +4 -1
  256. data/lib/workos/types/send_email_change_locale.rb +9 -0
  257. data/lib/workos/types/send_verification_email_locale.rb +9 -0
  258. data/lib/workos/types/update_audit_logs_retention_with_retention_period_retention_period.rb +9 -0
  259. data/lib/workos/types/user_connected_account_import_error_body_code.rb +15 -0
  260. data/lib/workos/types/vault_dek_rekeyed_data_actor_source.rb +9 -0
  261. data/lib/workos/types/widget_session_token_scopes.rb +3 -1
  262. data/lib/workos/user_management/action_denied_error_body.rb +22 -0
  263. data/lib/workos/user_management/authentication_method_not_allowed_error_body.rb +22 -0
  264. data/lib/workos/user_management/authentication_method_not_allowed_oauth_error_body.rb +22 -0
  265. data/lib/workos/user_management/create_magic_code_and_return.rb +5 -2
  266. data/lib/workos/user_management/create_password_reset_token.rb +16 -1
  267. data/lib/workos/user_management/email_already_in_use_error_body.rb +22 -0
  268. data/lib/workos/user_management/email_already_verified_error_body.rb +22 -0
  269. data/lib/workos/user_management/email_change_not_allowed_error_body.rb +22 -0
  270. data/lib/workos/user_management/email_completion_required_error_body_with_email_completion_token.rb +25 -0
  271. data/lib/workos/user_management/email_domain_not_deliverable_error_body.rb +22 -0
  272. data/lib/workos/user_management/email_not_available_error_body.rb +22 -0
  273. data/lib/workos/user_management/email_password_auth_disabled_error_body.rb +22 -0
  274. data/lib/workos/user_management/email_verification_required_error_body.rb +22 -0
  275. data/lib/workos/user_management/invitation_cannot_be_used_for_email_oauth_error_body.rb +22 -0
  276. data/lib/workos/user_management/invitation_invalid_oauth_error_body.rb +22 -0
  277. data/lib/workos/user_management/password_and_password_hash_provided_error_body.rb +22 -0
  278. data/lib/workos/user_management/password_and_password_hash_type_provided_error_body.rb +22 -0
  279. data/lib/workos/user_management/password_salt_position_requires_password_hash_error_body.rb +22 -0
  280. data/lib/workos/user_management/password_strength_error_error_body_with_errors.rb +25 -0
  281. data/lib/workos/user_management/send_email_change.rb +6 -2
  282. data/lib/workos/user_management/send_verification_email.rb +18 -0
  283. data/lib/workos/user_management/user_connected_account_import_error_body.rb +22 -0
  284. data/lib/workos/user_management/user_consent_options_not_supported_error_body.rb +22 -0
  285. data/lib/workos/user_management/user_creation_error_error_body_with_errors.rb +25 -0
  286. data/lib/workos/user_management/user_mismatch_error_body.rb +22 -0
  287. data/lib/workos/user_management/waitlist_list_response.rb +25 -0
  288. data/lib/workos/user_management/waitlist_list_response_list_metadata.rb +7 -0
  289. data/lib/workos/user_management.rb +26 -11
  290. data/lib/workos/vault/vault_dek_rekeyed.rb +34 -0
  291. data/lib/workos/vault/vault_dek_rekeyed_data.rb +31 -0
  292. data/lib/workos/version.rb +1 -1
  293. data/rbi/workos/access_denied_oauth_error_body.rbi +30 -0
  294. data/rbi/workos/account_selection_required_error_body.rbi +30 -0
  295. data/rbi/workos/action_denied_error_body.rbi +30 -0
  296. data/rbi/workos/admin_portal.rbi +11 -1
  297. data/rbi/workos/agent_blueprint.rbi +6 -0
  298. data/rbi/workos/agent_blueprint_created_data.rbi +6 -0
  299. data/rbi/workos/agent_blueprint_created_data_invocable_as.rbi +24 -0
  300. data/rbi/workos/agent_blueprint_invocable_as.rbi +24 -0
  301. data/rbi/workos/agent_blueprint_updated_data.rbi +6 -0
  302. data/rbi/workos/agent_blueprint_updated_data_invocable_as.rbi +24 -0
  303. data/rbi/workos/agent_blueprints_create_request.rbi +6 -0
  304. data/rbi/workos/agent_blueprints_create_request_invocable_as.rbi +24 -0
  305. data/rbi/workos/agent_blueprints_update_request.rbi +6 -0
  306. data/rbi/workos/agent_blueprints_update_request_invocable_as.rbi +24 -0
  307. data/rbi/workos/agent_registration.rbi +6 -0
  308. data/rbi/workos/agents.rbi +29 -19
  309. data/rbi/workos/already_claimed_error_body.rbi +30 -0
  310. data/rbi/workos/api_key_data_integration_vended_credential.rbi +42 -0
  311. data/rbi/workos/api_keys.rbi +5 -5
  312. data/rbi/workos/application_consent_required_error_body.rbi +30 -0
  313. data/rbi/workos/audit_logs.rbi +10 -10
  314. data/rbi/workos/auth_method_mismatch_error_body.rbi +30 -0
  315. data/rbi/workos/authentication_method_not_allowed_error_body.rbi +30 -0
  316. data/rbi/workos/authentication_method_not_allowed_oauth_error_body.rbi +30 -0
  317. data/rbi/workos/authorization.rbi +55 -45
  318. data/rbi/workos/authorization_pending_oauth_error_body.rbi +30 -0
  319. data/rbi/workos/authorization_url_not_found_error_body.rbi +30 -0
  320. data/rbi/workos/authorization_url_request_error_body.rbi +30 -0
  321. data/rbi/workos/client_api.rbi +1 -1
  322. data/rbi/workos/client_credentials_data_integration_vended_credential.rbi +66 -0
  323. data/rbi/workos/code_challenge_not_found_error_body.rbi +30 -0
  324. data/rbi/workos/connect.rbi +12 -10
  325. data/rbi/workos/connect_application_oauth.rbi +6 -0
  326. data/rbi/workos/connected_account.rbi +18 -0
  327. data/rbi/workos/connected_account_input.rbi +12 -0
  328. data/rbi/workos/connected_account_limit_reached_error_body.rbi +30 -0
  329. data/rbi/workos/connected_account_warning.rbi +30 -0
  330. data/rbi/workos/connection_could_not_be_verified_error_body.rbi +30 -0
  331. data/rbi/workos/connection_creation_conflict_error_body.rbi +30 -0
  332. data/rbi/workos/connection_creation_not_found_error_body.rbi +30 -0
  333. data/rbi/workos/connection_finish_error_body.rbi +30 -0
  334. data/rbi/workos/connection_type_not_updatable_error_body.rbi +30 -0
  335. data/rbi/workos/create_connected_account.rbi +66 -0
  336. data/rbi/workos/create_magic_code_and_return.rbi +6 -0
  337. data/rbi/workos/create_oauth_application.rbi +6 -0
  338. data/rbi/workos/create_organization_connected_account.rbi +72 -0
  339. data/rbi/workos/create_password_reset_token.rbi +6 -0
  340. data/rbi/workos/daily_quota_exceeded_error_body.rbi +30 -0
  341. data/rbi/workos/data_integration_access_token_response_with_access_token.rbi +30 -0
  342. data/rbi/workos/{data_integration_credentials_response_credential.rbi → data_integration_access_token_response_with_access_token_access_token.rbi} +3 -9
  343. data/rbi/workos/data_integration_access_token_response_with_error.rbi +30 -0
  344. data/rbi/workos/data_integration_authorize_url_response.rbi +12 -0
  345. data/rbi/workos/data_integration_credentials_response.rbi +2 -2
  346. data/rbi/workos/data_integration_credentials_response_with_credential.rbi +30 -0
  347. data/rbi/workos/data_integration_credentials_response_with_error.rbi +30 -0
  348. data/rbi/workos/data_integration_finish_connection_response.rbi +24 -0
  349. data/rbi/workos/data_integration_vended_credential.rbi +66 -0
  350. data/rbi/workos/data_integrations_create_api_key_connection_request.rbi +60 -0
  351. data/rbi/workos/data_integrations_create_client_credentials_connection_request.rbi +72 -0
  352. data/rbi/workos/data_integrations_finish_connection_request.rbi +36 -0
  353. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +30 -0
  354. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +18 -0
  355. data/rbi/workos/data_integrations_list_response_data_connected_account_warning.rbi +30 -0
  356. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +24 -6
  357. data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +24 -6
  358. data/rbi/workos/directory_sync.rbi +15 -7
  359. data/rbi/workos/directory_sync_rate_limit_error.rbi +36 -0
  360. data/rbi/workos/directory_sync_response.rbi +24 -0
  361. data/rbi/workos/email_already_in_use_error_body.rbi +30 -0
  362. data/rbi/workos/email_already_verified_error_body.rbi +30 -0
  363. data/rbi/workos/email_change_not_allowed_error_body.rbi +30 -0
  364. data/rbi/workos/email_completion_required_error_body_with_email_completion_token.rbi +36 -0
  365. data/rbi/workos/email_domain_not_deliverable_error_body.rbi +30 -0
  366. data/rbi/workos/email_not_available_error_body.rbi +30 -0
  367. data/rbi/workos/email_password_auth_disabled_error_body.rbi +30 -0
  368. data/rbi/workos/email_verification_required_error_body.rbi +30 -0
  369. data/rbi/workos/entity_not_found_error_body.rbi +30 -0
  370. data/rbi/workos/error_body.rbi +24 -0
  371. data/rbi/workos/error_body_with_code.rbi +30 -0
  372. data/rbi/workos/error_body_with_code_errors.rbi +36 -0
  373. data/rbi/workos/error_body_with_code_field_error.rbi +30 -0
  374. data/rbi/workos/error_body_with_code_field_errors.rbi +30 -0
  375. data/rbi/workos/error_body_with_code_instance_path_error.rbi +24 -0
  376. data/rbi/workos/error_body_with_code_instance_path_errors.rbi +36 -0
  377. data/rbi/workos/error_body_with_code_status_code.rbi +36 -0
  378. data/rbi/workos/error_body_with_constraints_property_error.rbi +30 -0
  379. data/rbi/workos/error_body_with_constraints_property_errors.rbi +30 -0
  380. data/rbi/workos/error_body_with_error.rbi +30 -0
  381. data/rbi/workos/error_body_with_error_message_list.rbi +30 -0
  382. data/rbi/workos/error_body_with_message_or_message_list.rbi +24 -0
  383. data/rbi/workos/events.rbi +1 -3
  384. data/rbi/workos/expired_token_oauth_error_body.rbi +30 -0
  385. data/rbi/workos/external_auth_session_already_completed_error_body.rbi +30 -0
  386. data/rbi/workos/external_id_already_used_error_body.rbi +30 -0
  387. data/rbi/workos/extra_attributes_required_oauth_error_body.rbi +30 -0
  388. data/rbi/workos/feature_flags.rbi +8 -8
  389. data/rbi/workos/feature_flags_flag_created.rbi +54 -0
  390. data/rbi/workos/feature_flags_flag_created_context.rbi +30 -0
  391. data/rbi/workos/feature_flags_flag_created_context_actor.rbi +36 -0
  392. data/rbi/workos/feature_flags_flag_created_data.rbi +90 -0
  393. data/rbi/workos/feature_flags_flag_created_data_owner.rbi +36 -0
  394. data/rbi/workos/feature_flags_flag_deleted.rbi +54 -0
  395. data/rbi/workos/feature_flags_flag_deleted_context.rbi +30 -0
  396. data/rbi/workos/feature_flags_flag_deleted_context_actor.rbi +36 -0
  397. data/rbi/workos/feature_flags_flag_deleted_data.rbi +90 -0
  398. data/rbi/workos/feature_flags_flag_deleted_data_owner.rbi +36 -0
  399. data/rbi/workos/feature_flags_flag_rule_created.rbi +54 -0
  400. data/rbi/workos/feature_flags_flag_rule_created_context.rbi +30 -0
  401. data/rbi/workos/feature_flags_flag_rule_created_context_actor.rbi +36 -0
  402. data/rbi/workos/feature_flags_flag_rule_deleted.rbi +54 -0
  403. data/rbi/workos/feature_flags_flag_rule_deleted_context.rbi +30 -0
  404. data/rbi/workos/feature_flags_flag_rule_deleted_context_actor.rbi +36 -0
  405. data/rbi/workos/feature_flags_flag_rule_updated.rbi +54 -0
  406. data/rbi/workos/feature_flags_flag_rule_updated_context.rbi +36 -0
  407. data/rbi/workos/feature_flags_flag_rule_updated_context_actor.rbi +36 -0
  408. data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute.rbi +24 -0
  409. data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute_data.rbi +24 -0
  410. data/rbi/workos/feature_flags_flag_target_created.rbi +54 -0
  411. data/rbi/workos/feature_flags_flag_target_created_context.rbi +30 -0
  412. data/rbi/workos/feature_flags_flag_target_created_context_actor.rbi +36 -0
  413. data/rbi/workos/feature_flags_flag_target_deleted.rbi +54 -0
  414. data/rbi/workos/feature_flags_flag_target_deleted_context.rbi +30 -0
  415. data/rbi/workos/feature_flags_flag_target_deleted_context_actor.rbi +36 -0
  416. data/rbi/workos/feature_flags_flag_updated.rbi +54 -0
  417. data/rbi/workos/feature_flags_flag_updated_context.rbi +36 -0
  418. data/rbi/workos/feature_flags_flag_updated_context_actor.rbi +36 -0
  419. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute.rbi +24 -0
  420. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data.rbi +54 -0
  421. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data_owner.rbi +36 -0
  422. data/rbi/workos/feature_flags_flag_updated_data.rbi +90 -0
  423. data/rbi/workos/feature_flags_flag_updated_data_owner.rbi +36 -0
  424. data/rbi/workos/flag_rule.rbi +84 -0
  425. data/rbi/workos/flag_target.rbi +90 -0
  426. data/rbi/workos/flag_target_with_rule_id.rbi +78 -0
  427. data/rbi/workos/flag_target_with_value_type.rbi +84 -0
  428. data/rbi/workos/flag_updated_context_previous_attribute_data.rbi +6 -0
  429. data/rbi/workos/flag_updated_context_previous_attribute_data_owner.rbi +36 -0
  430. data/rbi/workos/generate_link.rbi +6 -0
  431. data/rbi/workos/group_role_assignment_list.rbi +36 -0
  432. data/rbi/workos/groups.rbi +19 -8
  433. data/rbi/workos/idp_metadata_fetch_failed_error_body.rbi +30 -0
  434. data/rbi/workos/invalid_client_oauth_error_body.rbi +30 -0
  435. data/rbi/workos/invalid_connection_oauth_error_body.rbi +30 -0
  436. data/rbi/workos/invalid_credentials_error_body.rbi +30 -0
  437. data/rbi/workos/invalid_email_error_body.rbi +30 -0
  438. data/rbi/workos/invalid_grant_oauth_error_body.rbi +30 -0
  439. data/rbi/workos/invalid_idp_sso_url_error_body.rbi +30 -0
  440. data/rbi/workos/invalid_link_authorization_code_oauth_error_body.rbi +30 -0
  441. data/rbi/workos/invalid_locale_error_body.rbi +30 -0
  442. data/rbi/workos/invalid_metadata_error_body.rbi +30 -0
  443. data/rbi/workos/invalid_one_time_code_error_body.rbi +30 -0
  444. data/rbi/workos/invalid_organization_id_error_body.rbi +30 -0
  445. data/rbi/workos/invalid_password_hash_error_body.rbi +30 -0
  446. data/rbi/workos/invalid_pending_authentication_token_error_body.rbi +30 -0
  447. data/rbi/workos/invalid_profile_oauth_error_body.rbi +30 -0
  448. data/rbi/workos/invalid_refresh_token_error_body.rbi +30 -0
  449. data/rbi/workos/invalid_request_oauth_error_body.rbi +30 -0
  450. data/rbi/workos/invalid_request_parameters_error_body.rbi +30 -0
  451. data/rbi/workos/invalid_request_parameters_error_body_with_errors.rbi +36 -0
  452. data/rbi/workos/invalid_role_error_body.rbi +30 -0
  453. data/rbi/workos/invalid_url_error_body.rbi +30 -0
  454. data/rbi/workos/invitation_cannot_be_used_for_email_oauth_error_body.rbi +30 -0
  455. data/rbi/workos/invitation_invalid_oauth_error_body.rbi +30 -0
  456. data/rbi/workos/it_contact_list.rbi +36 -0
  457. data/rbi/workos/it_contact_list_list_metadata.rbi +30 -0
  458. data/rbi/workos/list_metadata.rbi +30 -0
  459. data/rbi/workos/mfa_challenge_error_body.rbi +30 -0
  460. data/rbi/workos/mfa_enrollment_error_body.rbi +30 -0
  461. data/rbi/workos/mfa_enrollment_oauth_error_body.rbi +30 -0
  462. data/rbi/workos/multi_factor_auth.rbi +7 -7
  463. data/rbi/workos/multiple_roles_not_enabled_error_body.rbi +30 -0
  464. data/rbi/workos/must_use_sso_for_selected_organization_message_error_body.rbi +24 -0
  465. data/rbi/workos/oauth_data_integration_vended_credential.rbi +66 -0
  466. data/rbi/workos/oauth_error_body.rbi +30 -0
  467. data/rbi/workos/one_time_code_expired_error_body.rbi +30 -0
  468. data/rbi/workos/one_time_code_previously_used_error_body.rbi +30 -0
  469. data/rbi/workos/one_time_code_too_many_attempts_error_body.rbi +30 -0
  470. data/rbi/workos/organization_authentication_methods_required_oauth_error_body.rbi +30 -0
  471. data/rbi/workos/organization_connected_account.rbi +66 -0
  472. data/rbi/workos/organization_connected_account_import_error_body.rbi +30 -0
  473. data/rbi/workos/organization_domains.rbi +4 -4
  474. data/rbi/workos/organization_membership_not_found_oauth_error_body.rbi +30 -0
  475. data/rbi/workos/organization_membership_service.rbi +8 -8
  476. data/rbi/workos/organization_not_found_oauth_error_body.rbi +30 -0
  477. data/rbi/workos/organization_selection_required_error_body.rbi +30 -0
  478. data/rbi/workos/organization_selection_required_error_body_with_organization.rbi +30 -0
  479. data/rbi/workos/organization_selection_required_error_body_with_organizations.rbi +36 -0
  480. data/rbi/workos/organizations.rbi +13 -13
  481. data/rbi/workos/passkey_progressive_enrollment_error_body.rbi +30 -0
  482. data/rbi/workos/password_and_password_hash_provided_error_body.rbi +30 -0
  483. data/rbi/workos/password_and_password_hash_type_provided_error_body.rbi +30 -0
  484. data/rbi/workos/password_salt_position_requires_password_hash_error_body.rbi +30 -0
  485. data/rbi/workos/password_strength_error_error_body_with_errors.rbi +36 -0
  486. data/rbi/workos/patch_group_memberships.rbi +30 -0
  487. data/rbi/workos/patch_group_role_assignments.rbi +30 -0
  488. data/rbi/workos/phone_number_required_error_body.rbi +30 -0
  489. data/rbi/workos/pipe_connected_account.rbi +12 -0
  490. data/rbi/workos/pipes.rbi +92 -25
  491. data/rbi/workos/pipes_provider.rbi +2 -2
  492. data/rbi/workos/pkce_not_supported_oauth_error_body.rbi +30 -0
  493. data/rbi/workos/platform_teams.rbi +2 -2
  494. data/rbi/workos/policy_denied_error_body.rbi +30 -0
  495. data/rbi/workos/radar.rbi +4 -4
  496. data/rbi/workos/radar_challenge_error_body.rbi +30 -0
  497. data/rbi/workos/radar_sign_up_challenge_error_body.rbi +30 -0
  498. data/rbi/workos/radar_sms_sign_in_challenge_error_body.rbi +30 -0
  499. data/rbi/workos/rate_limit_exceeded_error_body_with_retry_after.rbi +36 -0
  500. data/rbi/workos/revoke_link.rbi +30 -0
  501. data/rbi/workos/send_email_change.rbi +6 -0
  502. data/rbi/workos/send_verification_email.rbi +24 -0
  503. data/rbi/workos/sign_up_not_allowed_oauth_error_body.rbi +30 -0
  504. data/rbi/workos/slow_down_oauth_error_body.rbi +30 -0
  505. data/rbi/workos/sms_challenge_quota_reached_error_body.rbi +30 -0
  506. data/rbi/workos/sms_challenge_rate_limited_error_body.rbi +30 -0
  507. data/rbi/workos/sso.rbi +19 -18
  508. data/rbi/workos/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rbi +48 -0
  509. data/rbi/workos/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rbi +36 -0
  510. data/rbi/workos/token_query.rbi +6 -0
  511. data/rbi/workos/token_too_big_oauth_error_body.rbi +30 -0
  512. data/rbi/workos/too_many_failed_verification_attempts_error_body_with_retry_after.rbi +36 -0
  513. data/rbi/workos/too_many_requests_oauth_error_body.rbi +30 -0
  514. data/rbi/workos/unauthorized_client_oauth_error_body.rbi +30 -0
  515. data/rbi/workos/unauthorized_error_body.rbi +24 -0
  516. data/rbi/workos/update_audit_logs_retention_with_retention_period.rbi +24 -0
  517. data/rbi/workos/update_audit_logs_retention_with_retention_period_in_days.rbi +24 -0
  518. data/rbi/workos/update_oauth_application.rbi +6 -0
  519. data/rbi/workos/update_user_organization_membership_with_role_slug.rbi +24 -0
  520. data/rbi/workos/update_user_organization_membership_with_role_slugs.rbi +24 -0
  521. data/rbi/workos/user_connected_account_import_error_body.rbi +30 -0
  522. data/rbi/workos/user_consent_options_not_supported_error_body.rbi +30 -0
  523. data/rbi/workos/user_creation_error_error_body_with_errors.rbi +36 -0
  524. data/rbi/workos/user_management.rbi +77 -61
  525. data/rbi/workos/user_mismatch_error_body.rbi +30 -0
  526. data/rbi/workos/user_role_assignment_source.rbi +6 -0
  527. data/rbi/workos/user_role_assignment_source_group.rbi +30 -0
  528. data/rbi/workos/vault.rbi +11 -11
  529. data/rbi/workos/vault_dek_rekeyed.rbi +54 -0
  530. data/rbi/workos/vault_dek_rekeyed_data.rbi +48 -0
  531. data/rbi/workos/verification_id_required_error_body.rbi +30 -0
  532. data/rbi/workos/version_list_response.rbi +30 -0
  533. data/rbi/workos/waitlist_list_response.rbi +36 -0
  534. data/rbi/workos/waitlist_list_response_list_metadata.rbi +30 -0
  535. data/rbi/workos/webhooks.rbi +4 -4
  536. data/rbi/workos/widgets.rbi +1 -1
  537. data/test/workos/test_admin_portal.rb +9 -1
  538. data/test/workos/test_admin_portal_model_round_trip.rb +14 -0
  539. data/test/workos/test_agents.rb +8 -0
  540. data/test/workos/test_agents_model_round_trip.rb +46 -0
  541. data/test/workos/test_api_keys_model_round_trip.rb +14 -0
  542. data/test/workos/test_authorization.rb +8 -0
  543. data/test/workos/test_authorization_model_round_trip.rb +38 -1
  544. data/test/workos/test_base_client.rb +4 -3
  545. data/test/workos/test_connect_model_round_trip.rb +3 -1
  546. data/test/workos/test_directory_sync.rb +8 -0
  547. data/test/workos/test_directory_sync_model_round_trip.rb +24 -0
  548. data/test/workos/test_feature_flags_model_round_trip.rb +123 -0
  549. data/test/workos/test_groups.rb +8 -0
  550. data/test/workos/test_groups_model_round_trip.rb +11 -0
  551. data/test/workos/test_organizations_model_round_trip.rb +111 -0
  552. data/test/workos/test_pipes.rb +28 -4
  553. data/test/workos/test_pipes_model_round_trip.rb +214 -51
  554. data/test/workos/test_shared_model_round_trip.rb +2066 -423
  555. data/test/workos/test_sso_model_round_trip.rb +61 -0
  556. data/test/workos/test_user_management_model_round_trip.rb +297 -3
  557. data/test/workos/test_vault_model_round_trip.rb +63 -0
  558. metadata +423 -3
@@ -5,6 +5,113 @@
5
5
  require "test_helper"
6
6
 
7
7
  class FeatureFlagsModelRoundTripTest < Minitest::Test
8
+ def test_flag_rule_round_trip
9
+ fixture = {
10
+ "object" => "flag_rule",
11
+ "id" => "stub",
12
+ "flag_id" => "stub",
13
+ "flag_slug" => "stub",
14
+ "environment_id" => "stub",
15
+ "target_type" => nil,
16
+ "position" => 1,
17
+ "value_type" => "boolean",
18
+ "value" => true,
19
+ "created_at" => "stub",
20
+ "updated_at" => "stub"
21
+ }
22
+ model = WorkOS::FlagRule.new(fixture.to_json)
23
+ json = model.to_h
24
+ assert_kind_of Hash, json
25
+ assert_equal fixture["id"], json[:id]
26
+ assert_equal fixture["flag_id"], json[:flag_id]
27
+ assert_equal fixture["flag_slug"], json[:flag_slug]
28
+ assert_equal fixture["environment_id"], json[:environment_id]
29
+ assert_nil json[:target_type]
30
+ assert_equal fixture["position"], json[:position]
31
+ assert_equal fixture["value"], json[:value]
32
+ assert_equal fixture["created_at"], json[:created_at]
33
+ assert_equal fixture["updated_at"], json[:updated_at]
34
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
35
+ end
36
+
37
+ def test_flag_target_round_trip
38
+ fixture = {
39
+ "object" => "flag_target",
40
+ "id" => "stub",
41
+ "flag_id" => "stub",
42
+ "flag_slug" => "stub",
43
+ "environment_id" => "stub",
44
+ "target_type" => "stub",
45
+ "target_id" => "stub",
46
+ "created_at" => "stub",
47
+ "updated_at" => "stub",
48
+ "rule_id" => "stub",
49
+ "value_type" => "boolean",
50
+ "value" => true
51
+ }
52
+ model = WorkOS::FlagTarget.new(fixture.to_json)
53
+ json = model.to_h
54
+ assert_kind_of Hash, json
55
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
56
+ end
57
+
58
+ def test_flag_target_with_rule_id_round_trip
59
+ fixture = {
60
+ "object" => "flag_target",
61
+ "id" => "stub",
62
+ "flag_id" => "stub",
63
+ "flag_slug" => "stub",
64
+ "environment_id" => "stub",
65
+ "target_type" => "stub",
66
+ "target_id" => "stub",
67
+ "created_at" => "stub",
68
+ "updated_at" => "stub",
69
+ "rule_id" => "stub"
70
+ }
71
+ model = WorkOS::FlagTargetWithRuleId.new(fixture.to_json)
72
+ json = model.to_h
73
+ assert_kind_of Hash, json
74
+ assert_equal fixture["id"], json[:id]
75
+ assert_equal fixture["flag_id"], json[:flag_id]
76
+ assert_equal fixture["flag_slug"], json[:flag_slug]
77
+ assert_equal fixture["environment_id"], json[:environment_id]
78
+ assert_equal fixture["target_type"], json[:target_type]
79
+ assert_equal fixture["target_id"], json[:target_id]
80
+ assert_equal fixture["created_at"], json[:created_at]
81
+ assert_equal fixture["updated_at"], json[:updated_at]
82
+ assert_equal fixture["rule_id"], json[:rule_id]
83
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
84
+ end
85
+
86
+ def test_flag_target_with_value_type_round_trip
87
+ fixture = {
88
+ "object" => "flag_target",
89
+ "id" => "stub",
90
+ "flag_id" => "stub",
91
+ "flag_slug" => "stub",
92
+ "environment_id" => "stub",
93
+ "target_type" => "stub",
94
+ "target_id" => "stub",
95
+ "value_type" => "boolean",
96
+ "value" => true,
97
+ "created_at" => "stub",
98
+ "updated_at" => "stub"
99
+ }
100
+ model = WorkOS::FlagTargetWithValueType.new(fixture.to_json)
101
+ json = model.to_h
102
+ assert_kind_of Hash, json
103
+ assert_equal fixture["id"], json[:id]
104
+ assert_equal fixture["flag_id"], json[:flag_id]
105
+ assert_equal fixture["flag_slug"], json[:flag_slug]
106
+ assert_equal fixture["environment_id"], json[:environment_id]
107
+ assert_equal fixture["target_type"], json[:target_type]
108
+ assert_equal fixture["target_id"], json[:target_id]
109
+ assert_equal fixture["value"], json[:value]
110
+ assert_equal fixture["created_at"], json[:created_at]
111
+ assert_equal fixture["updated_at"], json[:updated_at]
112
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
113
+ end
114
+
8
115
  def test_flag_created_round_trip
9
116
  fixture = {
10
117
  "object" => "event",
@@ -483,6 +590,7 @@ class FeatureFlagsModelRoundTripTest < Minitest::Test
483
590
  "name" => "stub",
484
591
  "description" => nil,
485
592
  "tags" => [],
593
+ "owner" => nil,
486
594
  "enabled" => true,
487
595
  "default_value" => true
488
596
  }
@@ -492,6 +600,21 @@ class FeatureFlagsModelRoundTripTest < Minitest::Test
492
600
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
493
601
  end
494
602
 
603
+ def test_flag_updated_context_previous_attribute_data_owner_round_trip
604
+ fixture = {
605
+ "email" => "stub",
606
+ "first_name" => nil,
607
+ "last_name" => nil
608
+ }
609
+ model = WorkOS::FlagUpdatedContextPreviousAttributeDataOwner.new(fixture.to_json)
610
+ json = model.to_h
611
+ assert_kind_of Hash, json
612
+ assert_equal fixture["email"], json[:email]
613
+ assert_nil json[:first_name]
614
+ assert_nil json[:last_name]
615
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
616
+ end
617
+
495
618
  def test_flag_round_trip
496
619
  fixture = {
497
620
  "object" => "feature_flag",
@@ -60,6 +60,13 @@ class GroupsTest < Minitest::Test
60
60
  refute_nil result
61
61
  end
62
62
 
63
+ def test_update_group_organization_memberships_returns_expected_result
64
+ stub_request(:patch, %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)})
65
+ .to_return(body: "{}", status: 200)
66
+ result = @client.groups.update_group_organization_memberships(organization_id: "stub", group_id: "stub")
67
+ assert_nil result
68
+ end
69
+
63
70
  def test_delete_group_organization_membership_returns_expected_result
64
71
  stub_request(:delete, %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships/stub(\?|\z)})
65
72
  .to_return(body: "{}", status: 200)
@@ -76,6 +83,7 @@ class GroupsTest < Minitest::Test
76
83
  {name: :delete_organization_group, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
77
84
  {name: :list_group_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
78
85
  {name: :create_group_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub", organization_membership_id: "stub"}},
86
+ {name: :update_group_organization_memberships, verb: :patch, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships(\?|\z)}, args: {organization_id: "stub", group_id: "stub"}},
79
87
  {name: :delete_group_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/groups/stub/organization-memberships/stub(\?|\z)}, args: {organization_id: "stub", group_id: "stub", om_id: "stub"}}
80
88
  ].each do |spec|
81
89
  define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
@@ -16,6 +16,17 @@ class GroupsModelRoundTripTest < Minitest::Test
16
16
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
17
17
  end
18
18
 
19
+ def test_patch_group_memberships_round_trip
20
+ fixture = {
21
+ "add" => [],
22
+ "remove" => []
23
+ }
24
+ model = WorkOS::PatchGroupMemberships.new(fixture.to_json)
25
+ json = model.to_h
26
+ assert_kind_of Hash, json
27
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
28
+ end
29
+
19
30
  def test_create_group_round_trip
20
31
  fixture = {
21
32
  "name" => "stub",
@@ -81,6 +81,92 @@ class OrganizationsModelRoundTripTest < Minitest::Test
81
81
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
82
82
  end
83
83
 
84
+ def test_organization_selection_required_error_body_with_organizations_round_trip
85
+ fixture = {
86
+ "code" => "organization_selection_required",
87
+ "message" => "stub",
88
+ "organizations" => []
89
+ }
90
+ model = WorkOS::OrganizationSelectionRequiredErrorBodyWithOrganizations.new(fixture.to_json)
91
+ json = model.to_h
92
+ assert_kind_of Hash, json
93
+ assert_equal fixture["message"], json[:message]
94
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
95
+ end
96
+
97
+ def test_organization_selection_required_error_body_with_organization_round_trip
98
+ fixture = {
99
+ "id" => "stub",
100
+ "name" => "stub"
101
+ }
102
+ model = WorkOS::OrganizationSelectionRequiredErrorBodyWithOrganization.new(fixture.to_json)
103
+ json = model.to_h
104
+ assert_kind_of Hash, json
105
+ assert_equal fixture["id"], json[:id]
106
+ assert_equal fixture["name"], json[:name]
107
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
108
+ end
109
+
110
+ def test_organization_connected_account_import_error_body_round_trip
111
+ fixture = {
112
+ "code" => "stub",
113
+ "message" => "stub"
114
+ }
115
+ model = WorkOS::OrganizationConnectedAccountImportErrorBody.new(fixture.to_json)
116
+ json = model.to_h
117
+ assert_kind_of Hash, json
118
+ assert_equal fixture["message"], json[:message]
119
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
120
+ end
121
+
122
+ def test_organization_authentication_methods_required_oauth_error_body_round_trip
123
+ fixture = {
124
+ "error" => "organization_authentication_methods_required",
125
+ "error_description" => "stub"
126
+ }
127
+ model = WorkOS::OrganizationAuthenticationMethodsRequiredOAuthErrorBody.new(fixture.to_json)
128
+ json = model.to_h
129
+ assert_kind_of Hash, json
130
+ assert_equal fixture["error_description"], json[:error_description]
131
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
132
+ end
133
+
134
+ def test_organization_not_found_oauth_error_body_round_trip
135
+ fixture = {
136
+ "error" => "organization_not_found",
137
+ "error_description" => "stub"
138
+ }
139
+ model = WorkOS::OrganizationNotFoundOAuthErrorBody.new(fixture.to_json)
140
+ json = model.to_h
141
+ assert_kind_of Hash, json
142
+ assert_equal fixture["error_description"], json[:error_description]
143
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
144
+ end
145
+
146
+ def test_organization_membership_not_found_oauth_error_body_round_trip
147
+ fixture = {
148
+ "error" => "organization_membership_not_found",
149
+ "error_description" => "stub"
150
+ }
151
+ model = WorkOS::OrganizationMembershipNotFoundOAuthErrorBody.new(fixture.to_json)
152
+ json = model.to_h
153
+ assert_kind_of Hash, json
154
+ assert_equal fixture["error_description"], json[:error_description]
155
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
156
+ end
157
+
158
+ def test_organization_selection_required_error_body_round_trip
159
+ fixture = {
160
+ "code" => "organization_selection_required",
161
+ "message" => "stub"
162
+ }
163
+ model = WorkOS::OrganizationSelectionRequiredErrorBody.new(fixture.to_json)
164
+ json = model.to_h
165
+ assert_kind_of Hash, json
166
+ assert_equal fixture["message"], json[:message]
167
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
168
+ end
169
+
84
170
  def test_audit_logs_retention_round_trip
85
171
  fixture = {
86
172
  "retention_period_in_days" => nil
@@ -583,6 +669,18 @@ class OrganizationsModelRoundTripTest < Minitest::Test
583
669
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
584
670
  end
585
671
 
672
+ def test_it_contact_list_round_trip
673
+ fixture = {
674
+ "object" => "list",
675
+ "data" => [],
676
+ "list_metadata" => {}
677
+ }
678
+ model = WorkOS::ItContactList.new(fixture.to_json)
679
+ json = model.to_h
680
+ assert_kind_of Hash, json
681
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
682
+ end
683
+
586
684
  def test_organization_round_trip
587
685
  fixture = {
588
686
  "object" => "organization",
@@ -639,6 +737,19 @@ class OrganizationsModelRoundTripTest < Minitest::Test
639
737
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
640
738
  end
641
739
 
740
+ def test_it_contact_list_list_metadata_round_trip
741
+ fixture = {
742
+ "before" => nil,
743
+ "after" => nil
744
+ }
745
+ model = WorkOS::ItContactListListMetadata.new(fixture.to_json)
746
+ json = model.to_h
747
+ assert_kind_of Hash, json
748
+ assert_nil json[:before]
749
+ assert_nil json[:after]
750
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
751
+ end
752
+
642
753
  def test_organization_api_key_owner_round_trip
643
754
  fixture = {
644
755
  "type" => "organization",
@@ -25,6 +25,13 @@ class PipesTest < Minitest::Test
25
25
  refute_nil result
26
26
  end
27
27
 
28
+ def test_finish_connection_returns_expected_result
29
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)})
30
+ .to_return(body: "{}", status: 200)
31
+ result = @client.pipes.finish_connection(connect_code: "stub", code_verifier: "stub")
32
+ refute_nil result
33
+ end
34
+
28
35
  def test_get_data_integration_returns_expected_result
29
36
  stub_request(:get, %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)})
30
37
  .to_return(body: "{}", status: 200)
@@ -46,6 +53,13 @@ class PipesTest < Minitest::Test
46
53
  assert_nil result
47
54
  end
48
55
 
56
+ def test_create_data_integration_api_key_returns_expected_result
57
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)})
58
+ .to_return(body: "{}", status: 200)
59
+ result = @client.pipes.create_data_integration_api_key(slug: "stub", user_id: "stub", secret: "stub", connection_intent: "add")
60
+ refute_nil result
61
+ end
62
+
49
63
  def test_update_data_integration_api_key_returns_expected_result
50
64
  stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)})
51
65
  .to_return(body: "{}", status: 200)
@@ -60,6 +74,13 @@ class PipesTest < Minitest::Test
60
74
  refute_nil result
61
75
  end
62
76
 
77
+ def test_create_data_integration_client_credential_returns_expected_result
78
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)})
79
+ .to_return(body: "{}", status: 200)
80
+ result = @client.pipes.create_data_integration_client_credential(slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub", connection_intent: "add")
81
+ refute_nil result
82
+ end
83
+
63
84
  def test_update_data_integration_client_credentials_returns_expected_result
64
85
  stub_request(:put, %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)})
65
86
  .to_return(body: "{}", status: 200)
@@ -112,14 +133,14 @@ class PipesTest < Minitest::Test
112
133
  def test_create_organization_connected_account_returns_expected_result
113
134
  stub_request(:post, %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)})
114
135
  .to_return(body: "{}", status: 200)
115
- result = @client.pipes.create_organization_connected_account(organization_id: "stub", slug: "stub")
136
+ result = @client.pipes.create_organization_connected_account(organization_id: "stub", slug: "stub", user_id: "stub")
116
137
  refute_nil result
117
138
  end
118
139
 
119
140
  def test_update_organization_connected_account_returns_expected_result
120
141
  stub_request(:put, %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)})
121
142
  .to_return(body: "{}", status: 200)
122
- result = @client.pipes.update_organization_connected_account(organization_id: "stub", slug: "stub")
143
+ result = @client.pipes.update_organization_connected_account(organization_id: "stub", slug: "stub", user_id: "stub")
123
144
  refute_nil result
124
145
  end
125
146
 
@@ -176,11 +197,14 @@ class PipesTest < Minitest::Test
176
197
  [
177
198
  {name: :list_data_integrations, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}},
178
199
  {name: :create_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}, args: {provider: "stub"}},
200
+ {name: :finish_connection, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)}, args: {connect_code: "stub", code_verifier: "stub"}},
179
201
  {name: :get_data_integration, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
180
202
  {name: :update_data_integration, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
181
203
  {name: :delete_data_integration, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
204
+ {name: :create_data_integration_api_key, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)}, args: {slug: "stub", user_id: "stub", secret: "stub", connection_intent: "add"}},
182
205
  {name: :update_data_integration_api_key, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/api-key(\?|\z)}, args: {slug: "stub", user_id: "stub", secret: "stub"}},
183
206
  {name: :authorize_data_integration, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/authorize(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
207
+ {name: :create_data_integration_client_credential, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)}, args: {slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub", connection_intent: "add"}},
184
208
  {name: :update_data_integration_client_credentials, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/client-credentials(\?|\z)}, args: {slug: "stub", user_id: "stub", client_id: "stub", client_secret: "stub"}},
185
209
  {name: :create_data_integration_credential, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/credentials(\?|\z)}, args: {slug: "stub", user_id: "stub"}},
186
210
  {name: :list_data_integration_organization, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/organization(\?|\z)}, args: {slug: "stub"}},
@@ -188,8 +212,8 @@ class PipesTest < Minitest::Test
188
212
  {name: :delete_data_integration_organization, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/organization(\?|\z)}, args: {slug: "stub"}},
189
213
  {name: :get_access_token, verb: :post, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub/token(\?|\z)}, args: {provider: "stub", user_id: "stub"}},
190
214
  {name: :get_organization_connected_account, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
191
- {name: :create_organization_connected_account, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
192
- {name: :update_organization_connected_account, verb: :put, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
215
+ {name: :create_organization_connected_account, verb: :post, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub", user_id: "stub"}},
216
+ {name: :update_organization_connected_account, verb: :put, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub", user_id: "stub"}},
193
217
  {name: :delete_organization_connected_account, verb: :delete, url: %r{\Ahttps://api\.workos\.com/organizations/stub/connected_accounts/stub(\?|\z)}, args: {organization_id: "stub", slug: "stub"}},
194
218
  {name: :list_organization_data_providers, verb: :get, url: %r{\Ahttps://api\.workos\.com/organizations/stub/data_providers(\?|\z)}, args: {organization_id: "stub"}},
195
219
  {name: :get_user_connected_account, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/connected_accounts/stub(\?|\z)}, args: {user_id: "stub", slug: "stub"}},