workos 10.5.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 (502) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +3 -3
  3. data/.last-synced-sha +1 -1
  4. data/.oagen-manifest.json +387 -25
  5. data/.release-please-manifest.json +1 -1
  6. data/CHANGELOG.md +112 -0
  7. data/Gemfile.lock +2 -2
  8. data/README.md +2 -2
  9. data/lib/workos/agents/list_metadata.rb +22 -0
  10. data/lib/workos/api_keys/api_key_data_integration_vended_credential.rb +28 -0
  11. data/lib/workos/authorization/patch_group_role_assignments.rb +22 -0
  12. data/lib/workos/authorization.rb +26 -0
  13. data/lib/workos/base_client.rb +3 -0
  14. data/lib/workos/connect/connect_application.rb +3 -0
  15. data/lib/workos/connect/create_oauth_application.rb +3 -0
  16. data/lib/workos/connect/update_oauth_application.rb +5 -2
  17. data/lib/workos/connect.rb +6 -0
  18. data/lib/workos/events.rb +3 -11
  19. data/lib/workos/feature_flags/flag_created_data.rb +1 -46
  20. data/lib/workos/feature_flags/flag_deleted_data.rb +1 -1
  21. data/lib/workos/feature_flags/flag_rule.rb +49 -0
  22. data/lib/workos/feature_flags/flag_rule_updated_data.rb +1 -1
  23. data/lib/workos/feature_flags/flag_target.rb +52 -0
  24. data/lib/workos/feature_flags/flag_target_with_rule_id.rb +46 -0
  25. data/lib/workos/feature_flags/flag_target_with_value_type.rb +49 -0
  26. data/lib/workos/feature_flags/flag_updated_context_previous_attribute.rb +1 -12
  27. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +1 -28
  28. data/lib/workos/feature_flags/flag_updated_data.rb +1 -1
  29. data/lib/workos/groups/patch_group_memberships.rb +22 -0
  30. data/lib/workos/groups.rb +28 -0
  31. data/lib/workos/inflections.rb +30 -0
  32. data/lib/workos/organizations/it_contact_list_list_metadata.rb +22 -0
  33. data/lib/workos/organizations/organization_authentication_methods_required_oauth_error_body.rb +22 -0
  34. data/lib/workos/organizations/organization_connected_account_import_error_body.rb +22 -0
  35. data/lib/workos/organizations/organization_membership_not_found_oauth_error_body.rb +22 -0
  36. data/lib/workos/organizations/organization_not_found_oauth_error_body.rb +22 -0
  37. data/lib/workos/organizations/organization_selection_required_error_body.rb +22 -0
  38. data/lib/workos/organizations/organization_selection_required_error_body_with_organization.rb +7 -0
  39. data/lib/workos/organizations/organization_selection_required_error_body_with_organizations.rb +25 -0
  40. data/lib/workos/pipes/connected_account.rb +5 -2
  41. data/lib/workos/pipes/{connected_account_write_response_warning.rb → connected_account_warning.rb} +1 -1
  42. data/lib/workos/pipes/data_integration_authorize_url_response.rb +9 -2
  43. data/lib/workos/pipes/data_integration_finish_connection_response.rb +18 -0
  44. data/lib/workos/pipes/data_integration_vended_credential.rb +5 -5
  45. data/lib/workos/pipes/data_integrations_finish_connection_request.rb +25 -0
  46. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +14 -2
  47. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +4 -1
  48. data/lib/workos/pipes/data_integrations_list_response_data_connected_account_warning.rb +7 -0
  49. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +8 -2
  50. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +8 -2
  51. data/lib/workos/pipes.rb +62 -27
  52. data/lib/workos/shared/access_denied_oauth_error_body.rb +22 -0
  53. data/lib/workos/shared/account_selection_required_error_body.rb +7 -0
  54. data/lib/workos/shared/already_claimed_error_body.rb +22 -0
  55. data/lib/workos/shared/application_consent_required_error_body.rb +22 -0
  56. data/lib/workos/shared/auth_method_mismatch_error_body.rb +7 -0
  57. data/lib/workos/shared/authorization_pending_oauth_error_body.rb +22 -0
  58. data/lib/workos/shared/authorization_url_not_found_error_body.rb +22 -0
  59. data/lib/workos/shared/authorization_url_request_error_body.rb +22 -0
  60. data/lib/workos/shared/client_credentials_data_integration_vended_credential.rb +40 -0
  61. data/lib/workos/shared/code_challenge_not_found_error_body.rb +22 -0
  62. data/lib/workos/shared/connect_application_oauth.rb +3 -0
  63. data/lib/workos/shared/connected_account_limit_reached_error_body.rb +22 -0
  64. data/lib/workos/shared/daily_quota_exceeded_error_body.rb +22 -0
  65. data/lib/workos/shared/data_integration_access_token_response_with_access_token.rb +22 -0
  66. data/lib/workos/shared/data_integration_access_token_response_with_access_token_access_token.rb +7 -0
  67. data/lib/workos/shared/data_integration_access_token_response_with_error.rb +22 -0
  68. data/lib/workos/shared/data_integration_credentials_response_with_credential.rb +22 -0
  69. data/lib/workos/shared/data_integration_credentials_response_with_error.rb +22 -0
  70. data/lib/workos/shared/entity_not_found_error_body.rb +22 -0
  71. data/lib/workos/shared/error_body.rb +7 -0
  72. data/lib/workos/shared/error_body_with_code.rb +7 -0
  73. data/lib/workos/shared/error_body_with_code_errors.rb +25 -0
  74. data/lib/workos/shared/error_body_with_code_field_error.rb +22 -0
  75. data/lib/workos/shared/error_body_with_code_field_errors.rb +22 -0
  76. data/lib/workos/shared/error_body_with_code_instance_path_error.rb +18 -0
  77. data/lib/workos/shared/error_body_with_code_instance_path_errors.rb +25 -0
  78. data/lib/workos/shared/error_body_with_code_status_code.rb +25 -0
  79. data/lib/workos/shared/error_body_with_constraints_property_error.rb +22 -0
  80. data/lib/workos/shared/error_body_with_constraints_property_errors.rb +22 -0
  81. data/lib/workos/shared/error_body_with_error.rb +22 -0
  82. data/lib/workos/shared/error_body_with_error_message_list.rb +22 -0
  83. data/lib/workos/shared/error_body_with_message_or_message_list.rb +18 -0
  84. data/lib/workos/shared/expired_token_oauth_error_body.rb +22 -0
  85. data/lib/workos/shared/external_auth_session_already_completed_error_body.rb +22 -0
  86. data/lib/workos/shared/external_id_already_used_error_body.rb +22 -0
  87. data/lib/workos/shared/extra_attributes_required_oauth_error_body.rb +22 -0
  88. data/lib/workos/shared/feature_flags_flag_created.rb +34 -0
  89. data/lib/workos/shared/feature_flags_flag_created_context.rb +22 -0
  90. data/lib/workos/shared/feature_flags_flag_created_context_actor.rb +25 -0
  91. data/lib/workos/shared/feature_flags_flag_created_data.rb +52 -0
  92. data/lib/workos/shared/feature_flags_flag_created_data_owner.rb +7 -0
  93. data/lib/workos/shared/feature_flags_flag_deleted.rb +34 -0
  94. data/lib/workos/shared/feature_flags_flag_deleted_context.rb +22 -0
  95. data/lib/workos/shared/feature_flags_flag_deleted_context_actor.rb +25 -0
  96. data/lib/workos/shared/feature_flags_flag_deleted_data.rb +7 -0
  97. data/lib/workos/shared/feature_flags_flag_deleted_data_owner.rb +7 -0
  98. data/lib/workos/shared/feature_flags_flag_rule_created.rb +34 -0
  99. data/lib/workos/shared/feature_flags_flag_rule_created_context.rb +22 -0
  100. data/lib/workos/shared/feature_flags_flag_rule_created_context_actor.rb +25 -0
  101. data/lib/workos/shared/feature_flags_flag_rule_deleted.rb +34 -0
  102. data/lib/workos/shared/feature_flags_flag_rule_deleted_context.rb +22 -0
  103. data/lib/workos/shared/feature_flags_flag_rule_deleted_context_actor.rb +25 -0
  104. data/lib/workos/shared/feature_flags_flag_rule_updated.rb +34 -0
  105. data/lib/workos/shared/feature_flags_flag_rule_updated_context.rb +25 -0
  106. data/lib/workos/shared/feature_flags_flag_rule_updated_context_actor.rb +25 -0
  107. data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute.rb +18 -0
  108. data/lib/workos/shared/feature_flags_flag_rule_updated_context_previous_attribute_data.rb +18 -0
  109. data/lib/workos/shared/feature_flags_flag_target_created.rb +34 -0
  110. data/lib/workos/shared/feature_flags_flag_target_created_context.rb +22 -0
  111. data/lib/workos/shared/feature_flags_flag_target_created_context_actor.rb +25 -0
  112. data/lib/workos/shared/feature_flags_flag_target_deleted.rb +34 -0
  113. data/lib/workos/shared/feature_flags_flag_target_deleted_context.rb +22 -0
  114. data/lib/workos/shared/feature_flags_flag_target_deleted_context_actor.rb +25 -0
  115. data/lib/workos/shared/feature_flags_flag_updated.rb +34 -0
  116. data/lib/workos/shared/feature_flags_flag_updated_context.rb +25 -0
  117. data/lib/workos/shared/feature_flags_flag_updated_context_actor.rb +25 -0
  118. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute.rb +18 -0
  119. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data.rb +34 -0
  120. data/lib/workos/shared/feature_flags_flag_updated_context_previous_attribute_data_owner.rb +7 -0
  121. data/lib/workos/shared/feature_flags_flag_updated_data.rb +7 -0
  122. data/lib/workos/shared/feature_flags_flag_updated_data_owner.rb +7 -0
  123. data/lib/workos/shared/idp_metadata_fetch_failed_error_body.rb +22 -0
  124. data/lib/workos/shared/invalid_client_oauth_error_body.rb +22 -0
  125. data/lib/workos/shared/invalid_connection_oauth_error_body.rb +22 -0
  126. data/lib/workos/shared/invalid_credentials_error_body.rb +22 -0
  127. data/lib/workos/shared/invalid_email_error_body.rb +22 -0
  128. data/lib/workos/shared/invalid_grant_oauth_error_body.rb +22 -0
  129. data/lib/workos/shared/invalid_idp_sso_url_error_body.rb +22 -0
  130. data/lib/workos/shared/invalid_link_authorization_code_oauth_error_body.rb +22 -0
  131. data/lib/workos/shared/invalid_locale_error_body.rb +22 -0
  132. data/lib/workos/shared/invalid_metadata_error_body.rb +22 -0
  133. data/lib/workos/shared/invalid_one_time_code_error_body.rb +22 -0
  134. data/lib/workos/shared/invalid_organization_id_error_body.rb +22 -0
  135. data/lib/workos/shared/invalid_password_hash_error_body.rb +22 -0
  136. data/lib/workos/shared/invalid_pending_authentication_token_error_body.rb +22 -0
  137. data/lib/workos/shared/invalid_profile_oauth_error_body.rb +22 -0
  138. data/lib/workos/shared/invalid_refresh_token_error_body.rb +22 -0
  139. data/lib/workos/shared/invalid_request_oauth_error_body.rb +22 -0
  140. data/lib/workos/shared/invalid_request_parameters_error_body.rb +22 -0
  141. data/lib/workos/shared/invalid_request_parameters_error_body_with_errors.rb +25 -0
  142. data/lib/workos/shared/invalid_role_error_body.rb +22 -0
  143. data/lib/workos/shared/invalid_url_error_body.rb +22 -0
  144. data/lib/workos/shared/mfa_challenge_error_body.rb +22 -0
  145. data/lib/workos/shared/mfa_enrollment_error_body.rb +22 -0
  146. data/lib/workos/shared/mfa_enrollment_oauth_error_body.rb +22 -0
  147. data/lib/workos/shared/multiple_roles_not_enabled_error_body.rb +22 -0
  148. data/lib/workos/shared/must_use_sso_for_selected_organization_message_error_body.rb +18 -0
  149. data/lib/workos/shared/oauth_data_integration_vended_credential.rb +40 -0
  150. data/lib/workos/shared/oauth_error_body.rb +22 -0
  151. data/lib/workos/shared/one_time_code_expired_error_body.rb +22 -0
  152. data/lib/workos/shared/one_time_code_previously_used_error_body.rb +22 -0
  153. data/lib/workos/shared/one_time_code_too_many_attempts_error_body.rb +22 -0
  154. data/lib/workos/shared/passkey_progressive_enrollment_error_body.rb +22 -0
  155. data/lib/workos/shared/phone_number_required_error_body.rb +22 -0
  156. data/lib/workos/shared/pkce_not_supported_oauth_error_body.rb +22 -0
  157. data/lib/workos/shared/policy_denied_error_body.rb +22 -0
  158. data/lib/workos/shared/radar_challenge_error_body.rb +22 -0
  159. data/lib/workos/shared/radar_sign_up_challenge_error_body.rb +22 -0
  160. data/lib/workos/shared/radar_sms_sign_in_challenge_error_body.rb +22 -0
  161. data/lib/workos/shared/rate_limit_exceeded_error_body_with_retry_after.rb +25 -0
  162. data/lib/workos/shared/sign_up_not_allowed_oauth_error_body.rb +22 -0
  163. data/lib/workos/shared/slow_down_oauth_error_body.rb +22 -0
  164. data/lib/workos/shared/sms_challenge_quota_reached_error_body.rb +22 -0
  165. data/lib/workos/shared/sms_challenge_rate_limited_error_body.rb +22 -0
  166. data/lib/workos/shared/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rb +31 -0
  167. data/lib/workos/shared/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rb +25 -0
  168. data/lib/workos/shared/token_too_big_oauth_error_body.rb +22 -0
  169. data/lib/workos/shared/too_many_failed_verification_attempts_error_body_with_retry_after.rb +25 -0
  170. data/lib/workos/shared/too_many_requests_oauth_error_body.rb +22 -0
  171. data/lib/workos/shared/unauthorized_client_oauth_error_body.rb +22 -0
  172. data/lib/workos/shared/unauthorized_error_body.rb +18 -0
  173. data/lib/workos/shared/update_audit_logs_retention_with_retention_period.rb +18 -0
  174. data/lib/workos/shared/update_audit_logs_retention_with_retention_period_in_days.rb +26 -0
  175. data/lib/workos/shared/update_user_organization_membership_with_role_slug.rb +18 -0
  176. data/lib/workos/shared/update_user_organization_membership_with_role_slugs.rb +18 -0
  177. data/lib/workos/shared/verification_id_required_error_body.rb +22 -0
  178. data/lib/workos/sso/connection_could_not_be_verified_error_body.rb +22 -0
  179. data/lib/workos/sso/connection_creation_conflict_error_body.rb +22 -0
  180. data/lib/workos/sso/connection_creation_not_found_error_body.rb +22 -0
  181. data/lib/workos/sso/connection_finish_error_body.rb +22 -0
  182. data/lib/workos/sso/connection_type_not_updatable_error_body.rb +22 -0
  183. data/lib/workos/types/authorization_url_not_found_error_body_code.rb +14 -0
  184. data/lib/workos/types/authorization_url_request_error_body_code.rb +14 -0
  185. data/lib/workos/types/connection_creation_conflict_error_body_code.rb +13 -0
  186. data/lib/workos/types/connection_creation_not_found_error_body_code.rb +13 -0
  187. data/lib/workos/types/connection_finish_error_body_code.rb +29 -0
  188. data/lib/workos/types/create_data_integration_ownership.rb +5 -1
  189. data/lib/workos/types/create_magic_code_and_return_locale.rb +101 -0
  190. data/lib/workos/types/{connected_account_write_response_auth_method.rb → create_password_reset_token_locale.rb} +1 -1
  191. data/lib/workos/types/create_user_invite_options_locale.rb +1 -93
  192. data/lib/workos/types/create_webhook_endpoint_events.rb +9 -1
  193. data/lib/workos/types/data_integration_access_token_response_with_error_error.rb +9 -0
  194. data/lib/workos/types/data_integration_credentials_response_with_error_error.rb +9 -0
  195. data/lib/workos/types/data_integration_ownership.rb +1 -1
  196. data/lib/workos/types/data_integrations_create_api_key_connection_request_connection_owner.rb +1 -1
  197. data/lib/workos/types/data_integrations_create_client_credentials_connection_request_connection_owner.rb +1 -1
  198. data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_intent.rb +13 -0
  199. data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +1 -1
  200. data/lib/workos/types/data_integrations_get_user_token_request_connection_owner.rb +1 -1
  201. data/lib/workos/types/data_integrations_list_response_data_connection_owner.rb +1 -1
  202. data/lib/workos/types/data_integrations_upsert_api_key_request_connection_owner.rb +1 -1
  203. data/lib/workos/types/data_integrations_upsert_client_credentials_request_connection_owner.rb +1 -1
  204. data/lib/workos/types/data_integrations_vend_credentials_request_connection_owner.rb +1 -1
  205. data/lib/workos/types/error_body_code.rb +183 -0
  206. data/lib/workos/types/{connected_account_write_response_connection_role.rb → feature_flags_flag_created_context_actor_source.rb} +1 -1
  207. data/lib/workos/types/feature_flags_flag_deleted_context_actor_source.rb +9 -0
  208. data/lib/workos/types/feature_flags_flag_rule_created_context_actor_source.rb +9 -0
  209. data/lib/workos/types/feature_flags_flag_rule_deleted_context_actor_source.rb +9 -0
  210. data/lib/workos/types/feature_flags_flag_rule_updated_context_actor_source.rb +9 -0
  211. data/lib/workos/types/feature_flags_flag_target_created_context_actor_source.rb +9 -0
  212. data/lib/workos/types/feature_flags_flag_target_deleted_context_actor_source.rb +9 -0
  213. data/lib/workos/types/feature_flags_flag_updated_context_actor_source.rb +9 -0
  214. data/lib/workos/types/organization_connected_account_import_error_body_code.rb +14 -0
  215. data/lib/workos/types/pipes_ownership.rb +1 -1
  216. data/lib/workos/types/resend_user_invite_options_locale.rb +1 -1
  217. data/lib/workos/types/resource_export_completed_data_resource_type.rb +3 -1
  218. data/lib/workos/types/{connected_account_write_response_state.rb → send_email_change_locale.rb} +1 -1
  219. data/lib/workos/types/send_verification_email_locale.rb +9 -0
  220. data/lib/workos/types/update_audit_logs_retention_with_retention_period_retention_period.rb +9 -0
  221. data/lib/workos/types/user_connected_account_import_error_body_code.rb +15 -0
  222. data/lib/workos/types/widget_session_token_scopes.rb +3 -1
  223. data/lib/workos/user_management/action_denied_error_body.rb +22 -0
  224. data/lib/workos/user_management/authentication_method_not_allowed_error_body.rb +22 -0
  225. data/lib/workos/user_management/authentication_method_not_allowed_oauth_error_body.rb +22 -0
  226. data/lib/workos/user_management/create_magic_code_and_return.rb +5 -2
  227. data/lib/workos/user_management/create_password_reset_token.rb +16 -1
  228. data/lib/workos/user_management/email_already_in_use_error_body.rb +22 -0
  229. data/lib/workos/user_management/email_already_verified_error_body.rb +22 -0
  230. data/lib/workos/user_management/email_change_not_allowed_error_body.rb +22 -0
  231. data/lib/workos/user_management/email_completion_required_error_body_with_email_completion_token.rb +25 -0
  232. data/lib/workos/user_management/email_domain_not_deliverable_error_body.rb +22 -0
  233. data/lib/workos/user_management/email_not_available_error_body.rb +22 -0
  234. data/lib/workos/user_management/email_password_auth_disabled_error_body.rb +22 -0
  235. data/lib/workos/user_management/email_verification_required_error_body.rb +22 -0
  236. data/lib/workos/user_management/invitation_cannot_be_used_for_email_oauth_error_body.rb +22 -0
  237. data/lib/workos/user_management/invitation_invalid_oauth_error_body.rb +22 -0
  238. data/lib/workos/user_management/password_and_password_hash_provided_error_body.rb +22 -0
  239. data/lib/workos/user_management/password_and_password_hash_type_provided_error_body.rb +22 -0
  240. data/lib/workos/user_management/password_salt_position_requires_password_hash_error_body.rb +22 -0
  241. data/lib/workos/user_management/password_strength_error_error_body_with_errors.rb +25 -0
  242. data/lib/workos/user_management/send_email_change.rb +6 -2
  243. data/lib/workos/user_management/send_verification_email.rb +18 -0
  244. data/lib/workos/user_management/user_connected_account_import_error_body.rb +22 -0
  245. data/lib/workos/user_management/user_consent_options_not_supported_error_body.rb +22 -0
  246. data/lib/workos/user_management/user_creation_error_error_body_with_errors.rb +25 -0
  247. data/lib/workos/user_management/user_mismatch_error_body.rb +22 -0
  248. data/lib/workos/user_management/waitlist_list_response.rb +25 -0
  249. data/lib/workos/user_management/waitlist_list_response_list_metadata.rb +7 -0
  250. data/lib/workos/user_management.rb +25 -10
  251. data/lib/workos/version.rb +1 -1
  252. data/rbi/workos/access_denied_oauth_error_body.rbi +30 -0
  253. data/rbi/workos/{connected_account_write_response_warning.rbi → account_selection_required_error_body.rbi} +1 -1
  254. data/rbi/workos/action_denied_error_body.rbi +30 -0
  255. data/rbi/workos/admin_portal.rbi +2 -2
  256. data/rbi/workos/agents.rbi +20 -20
  257. data/rbi/workos/already_claimed_error_body.rbi +30 -0
  258. data/rbi/workos/api_key_data_integration_vended_credential.rbi +42 -0
  259. data/rbi/workos/api_keys.rbi +5 -5
  260. data/rbi/workos/application_consent_required_error_body.rbi +30 -0
  261. data/rbi/workos/audit_logs.rbi +10 -10
  262. data/rbi/workos/auth_method_mismatch_error_body.rbi +30 -0
  263. data/rbi/workos/authentication_method_not_allowed_error_body.rbi +30 -0
  264. data/rbi/workos/authentication_method_not_allowed_oauth_error_body.rbi +30 -0
  265. data/rbi/workos/authorization.rbi +55 -45
  266. data/rbi/workos/authorization_pending_oauth_error_body.rbi +30 -0
  267. data/rbi/workos/authorization_url_not_found_error_body.rbi +30 -0
  268. data/rbi/workos/authorization_url_request_error_body.rbi +30 -0
  269. data/rbi/workos/client_api.rbi +1 -1
  270. data/rbi/workos/client_credentials_data_integration_vended_credential.rbi +66 -0
  271. data/rbi/workos/code_challenge_not_found_error_body.rbi +30 -0
  272. data/rbi/workos/connect.rbi +12 -10
  273. data/rbi/workos/connect_application_oauth.rbi +6 -0
  274. data/rbi/workos/connected_account.rbi +6 -0
  275. data/rbi/workos/connected_account_limit_reached_error_body.rbi +30 -0
  276. data/rbi/workos/connected_account_warning.rbi +30 -0
  277. data/rbi/workos/connection_could_not_be_verified_error_body.rbi +30 -0
  278. data/rbi/workos/connection_creation_conflict_error_body.rbi +30 -0
  279. data/rbi/workos/connection_creation_not_found_error_body.rbi +30 -0
  280. data/rbi/workos/connection_finish_error_body.rbi +30 -0
  281. data/rbi/workos/connection_type_not_updatable_error_body.rbi +30 -0
  282. data/rbi/workos/create_magic_code_and_return.rbi +6 -0
  283. data/rbi/workos/create_oauth_application.rbi +6 -0
  284. data/rbi/workos/create_password_reset_token.rbi +6 -0
  285. data/rbi/workos/daily_quota_exceeded_error_body.rbi +30 -0
  286. data/rbi/workos/data_integration_access_token_response_with_access_token.rbi +30 -0
  287. data/rbi/workos/data_integration_access_token_response_with_access_token_access_token.rbi +48 -0
  288. data/rbi/workos/data_integration_access_token_response_with_error.rbi +30 -0
  289. data/rbi/workos/data_integration_authorize_url_response.rbi +12 -0
  290. data/rbi/workos/data_integration_credentials_response_with_credential.rbi +30 -0
  291. data/rbi/workos/data_integration_credentials_response_with_error.rbi +30 -0
  292. data/rbi/workos/data_integration_finish_connection_response.rbi +24 -0
  293. data/rbi/workos/data_integration_vended_credential.rbi +6 -6
  294. data/rbi/workos/data_integrations_finish_connection_request.rbi +36 -0
  295. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +24 -0
  296. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +6 -0
  297. data/rbi/workos/data_integrations_list_response_data_connected_account_warning.rbi +30 -0
  298. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +12 -0
  299. data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +12 -0
  300. data/rbi/workos/directory_sync.rbi +8 -8
  301. data/rbi/workos/email_already_in_use_error_body.rbi +30 -0
  302. data/rbi/workos/email_already_verified_error_body.rbi +30 -0
  303. data/rbi/workos/email_change_not_allowed_error_body.rbi +30 -0
  304. data/rbi/workos/email_completion_required_error_body_with_email_completion_token.rbi +36 -0
  305. data/rbi/workos/email_domain_not_deliverable_error_body.rbi +30 -0
  306. data/rbi/workos/email_not_available_error_body.rbi +30 -0
  307. data/rbi/workos/email_password_auth_disabled_error_body.rbi +30 -0
  308. data/rbi/workos/email_verification_required_error_body.rbi +30 -0
  309. data/rbi/workos/entity_not_found_error_body.rbi +30 -0
  310. data/rbi/workos/error_body.rbi +24 -0
  311. data/rbi/workos/error_body_with_code.rbi +30 -0
  312. data/rbi/workos/error_body_with_code_errors.rbi +36 -0
  313. data/rbi/workos/error_body_with_code_field_error.rbi +30 -0
  314. data/rbi/workos/error_body_with_code_field_errors.rbi +30 -0
  315. data/rbi/workos/error_body_with_code_instance_path_error.rbi +24 -0
  316. data/rbi/workos/error_body_with_code_instance_path_errors.rbi +36 -0
  317. data/rbi/workos/error_body_with_code_status_code.rbi +36 -0
  318. data/rbi/workos/error_body_with_constraints_property_error.rbi +30 -0
  319. data/rbi/workos/error_body_with_constraints_property_errors.rbi +30 -0
  320. data/rbi/workos/error_body_with_error.rbi +30 -0
  321. data/rbi/workos/error_body_with_error_message_list.rbi +30 -0
  322. data/rbi/workos/error_body_with_message_or_message_list.rbi +24 -0
  323. data/rbi/workos/events.rbi +1 -3
  324. data/rbi/workos/expired_token_oauth_error_body.rbi +30 -0
  325. data/rbi/workos/external_auth_session_already_completed_error_body.rbi +30 -0
  326. data/rbi/workos/external_id_already_used_error_body.rbi +30 -0
  327. data/rbi/workos/extra_attributes_required_oauth_error_body.rbi +30 -0
  328. data/rbi/workos/feature_flags.rbi +8 -8
  329. data/rbi/workos/feature_flags_flag_created.rbi +54 -0
  330. data/rbi/workos/feature_flags_flag_created_context.rbi +30 -0
  331. data/rbi/workos/feature_flags_flag_created_context_actor.rbi +36 -0
  332. data/rbi/workos/feature_flags_flag_created_data.rbi +90 -0
  333. data/rbi/workos/feature_flags_flag_created_data_owner.rbi +36 -0
  334. data/rbi/workos/feature_flags_flag_deleted.rbi +54 -0
  335. data/rbi/workos/feature_flags_flag_deleted_context.rbi +30 -0
  336. data/rbi/workos/feature_flags_flag_deleted_context_actor.rbi +36 -0
  337. data/rbi/workos/feature_flags_flag_deleted_data.rbi +90 -0
  338. data/rbi/workos/feature_flags_flag_deleted_data_owner.rbi +36 -0
  339. data/rbi/workos/feature_flags_flag_rule_created.rbi +54 -0
  340. data/rbi/workos/feature_flags_flag_rule_created_context.rbi +30 -0
  341. data/rbi/workos/feature_flags_flag_rule_created_context_actor.rbi +36 -0
  342. data/rbi/workos/feature_flags_flag_rule_deleted.rbi +54 -0
  343. data/rbi/workos/feature_flags_flag_rule_deleted_context.rbi +30 -0
  344. data/rbi/workos/feature_flags_flag_rule_deleted_context_actor.rbi +36 -0
  345. data/rbi/workos/feature_flags_flag_rule_updated.rbi +54 -0
  346. data/rbi/workos/feature_flags_flag_rule_updated_context.rbi +36 -0
  347. data/rbi/workos/feature_flags_flag_rule_updated_context_actor.rbi +36 -0
  348. data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute.rbi +24 -0
  349. data/rbi/workos/feature_flags_flag_rule_updated_context_previous_attribute_data.rbi +24 -0
  350. data/rbi/workos/feature_flags_flag_target_created.rbi +54 -0
  351. data/rbi/workos/feature_flags_flag_target_created_context.rbi +30 -0
  352. data/rbi/workos/feature_flags_flag_target_created_context_actor.rbi +36 -0
  353. data/rbi/workos/feature_flags_flag_target_deleted.rbi +54 -0
  354. data/rbi/workos/feature_flags_flag_target_deleted_context.rbi +30 -0
  355. data/rbi/workos/feature_flags_flag_target_deleted_context_actor.rbi +36 -0
  356. data/rbi/workos/feature_flags_flag_updated.rbi +54 -0
  357. data/rbi/workos/feature_flags_flag_updated_context.rbi +36 -0
  358. data/rbi/workos/feature_flags_flag_updated_context_actor.rbi +36 -0
  359. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute.rbi +24 -0
  360. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data.rbi +54 -0
  361. data/rbi/workos/feature_flags_flag_updated_context_previous_attribute_data_owner.rbi +36 -0
  362. data/rbi/workos/feature_flags_flag_updated_data.rbi +90 -0
  363. data/rbi/workos/feature_flags_flag_updated_data_owner.rbi +36 -0
  364. data/rbi/workos/flag_rule.rbi +84 -0
  365. data/rbi/workos/flag_target.rbi +90 -0
  366. data/rbi/workos/flag_target_with_rule_id.rbi +78 -0
  367. data/rbi/workos/flag_target_with_value_type.rbi +84 -0
  368. data/rbi/workos/group_role_assignment_list.rbi +36 -0
  369. data/rbi/workos/groups.rbi +19 -8
  370. data/rbi/workos/idp_metadata_fetch_failed_error_body.rbi +30 -0
  371. data/rbi/workos/invalid_client_oauth_error_body.rbi +30 -0
  372. data/rbi/workos/invalid_connection_oauth_error_body.rbi +30 -0
  373. data/rbi/workos/invalid_credentials_error_body.rbi +30 -0
  374. data/rbi/workos/invalid_email_error_body.rbi +30 -0
  375. data/rbi/workos/invalid_grant_oauth_error_body.rbi +30 -0
  376. data/rbi/workos/invalid_idp_sso_url_error_body.rbi +30 -0
  377. data/rbi/workos/invalid_link_authorization_code_oauth_error_body.rbi +30 -0
  378. data/rbi/workos/invalid_locale_error_body.rbi +30 -0
  379. data/rbi/workos/invalid_metadata_error_body.rbi +30 -0
  380. data/rbi/workos/invalid_one_time_code_error_body.rbi +30 -0
  381. data/rbi/workos/invalid_organization_id_error_body.rbi +30 -0
  382. data/rbi/workos/invalid_password_hash_error_body.rbi +30 -0
  383. data/rbi/workos/invalid_pending_authentication_token_error_body.rbi +30 -0
  384. data/rbi/workos/invalid_profile_oauth_error_body.rbi +30 -0
  385. data/rbi/workos/invalid_refresh_token_error_body.rbi +30 -0
  386. data/rbi/workos/invalid_request_oauth_error_body.rbi +30 -0
  387. data/rbi/workos/invalid_request_parameters_error_body.rbi +30 -0
  388. data/rbi/workos/invalid_request_parameters_error_body_with_errors.rbi +36 -0
  389. data/rbi/workos/invalid_role_error_body.rbi +30 -0
  390. data/rbi/workos/invalid_url_error_body.rbi +30 -0
  391. data/rbi/workos/invitation_cannot_be_used_for_email_oauth_error_body.rbi +30 -0
  392. data/rbi/workos/invitation_invalid_oauth_error_body.rbi +30 -0
  393. data/rbi/workos/it_contact_list.rbi +36 -0
  394. data/rbi/workos/it_contact_list_list_metadata.rbi +30 -0
  395. data/rbi/workos/list_metadata.rbi +30 -0
  396. data/rbi/workos/mfa_challenge_error_body.rbi +30 -0
  397. data/rbi/workos/mfa_enrollment_error_body.rbi +30 -0
  398. data/rbi/workos/mfa_enrollment_oauth_error_body.rbi +30 -0
  399. data/rbi/workos/multi_factor_auth.rbi +7 -7
  400. data/rbi/workos/multiple_roles_not_enabled_error_body.rbi +30 -0
  401. data/rbi/workos/must_use_sso_for_selected_organization_message_error_body.rbi +24 -0
  402. data/rbi/workos/oauth_data_integration_vended_credential.rbi +66 -0
  403. data/rbi/workos/oauth_error_body.rbi +30 -0
  404. data/rbi/workos/one_time_code_expired_error_body.rbi +30 -0
  405. data/rbi/workos/one_time_code_previously_used_error_body.rbi +30 -0
  406. data/rbi/workos/one_time_code_too_many_attempts_error_body.rbi +30 -0
  407. data/rbi/workos/organization_authentication_methods_required_oauth_error_body.rbi +30 -0
  408. data/rbi/workos/organization_connected_account_import_error_body.rbi +30 -0
  409. data/rbi/workos/organization_domains.rbi +4 -4
  410. data/rbi/workos/organization_membership_not_found_oauth_error_body.rbi +30 -0
  411. data/rbi/workos/organization_membership_service.rbi +8 -8
  412. data/rbi/workos/organization_not_found_oauth_error_body.rbi +30 -0
  413. data/rbi/workos/organization_selection_required_error_body.rbi +30 -0
  414. data/rbi/workos/organization_selection_required_error_body_with_organization.rbi +30 -0
  415. data/rbi/workos/organization_selection_required_error_body_with_organizations.rbi +36 -0
  416. data/rbi/workos/organizations.rbi +13 -13
  417. data/rbi/workos/passkey_progressive_enrollment_error_body.rbi +30 -0
  418. data/rbi/workos/password_and_password_hash_provided_error_body.rbi +30 -0
  419. data/rbi/workos/password_and_password_hash_type_provided_error_body.rbi +30 -0
  420. data/rbi/workos/password_salt_position_requires_password_hash_error_body.rbi +30 -0
  421. data/rbi/workos/password_strength_error_error_body_with_errors.rbi +36 -0
  422. data/rbi/workos/patch_group_memberships.rbi +30 -0
  423. data/rbi/workos/patch_group_role_assignments.rbi +30 -0
  424. data/rbi/workos/phone_number_required_error_body.rbi +30 -0
  425. data/rbi/workos/pipes.rbi +51 -33
  426. data/rbi/workos/pipes_provider.rbi +2 -2
  427. data/rbi/workos/pkce_not_supported_oauth_error_body.rbi +30 -0
  428. data/rbi/workos/platform_teams.rbi +2 -2
  429. data/rbi/workos/policy_denied_error_body.rbi +30 -0
  430. data/rbi/workos/radar.rbi +4 -4
  431. data/rbi/workos/radar_challenge_error_body.rbi +30 -0
  432. data/rbi/workos/radar_sign_up_challenge_error_body.rbi +30 -0
  433. data/rbi/workos/radar_sms_sign_in_challenge_error_body.rbi +30 -0
  434. data/rbi/workos/rate_limit_exceeded_error_body_with_retry_after.rbi +36 -0
  435. data/rbi/workos/send_email_change.rbi +6 -0
  436. data/rbi/workos/send_verification_email.rbi +24 -0
  437. data/rbi/workos/sign_up_not_allowed_oauth_error_body.rbi +30 -0
  438. data/rbi/workos/slow_down_oauth_error_body.rbi +30 -0
  439. data/rbi/workos/sms_challenge_quota_reached_error_body.rbi +30 -0
  440. data/rbi/workos/sms_challenge_rate_limited_error_body.rbi +30 -0
  441. data/rbi/workos/sso.rbi +18 -18
  442. data/rbi/workos/sso_required_oauth_error_body_with_connection_ids_list_email_pending_authentication_token.rbi +48 -0
  443. data/rbi/workos/sub_resource_scoped_role_not_allowed_error_body_with_role_slug.rbi +36 -0
  444. data/rbi/workos/token_too_big_oauth_error_body.rbi +30 -0
  445. data/rbi/workos/too_many_failed_verification_attempts_error_body_with_retry_after.rbi +36 -0
  446. data/rbi/workos/too_many_requests_oauth_error_body.rbi +30 -0
  447. data/rbi/workos/unauthorized_client_oauth_error_body.rbi +30 -0
  448. data/rbi/workos/unauthorized_error_body.rbi +24 -0
  449. data/rbi/workos/update_audit_logs_retention_with_retention_period.rbi +24 -0
  450. data/rbi/workos/update_audit_logs_retention_with_retention_period_in_days.rbi +24 -0
  451. data/rbi/workos/update_oauth_application.rbi +6 -0
  452. data/rbi/workos/update_user_organization_membership_with_role_slug.rbi +24 -0
  453. data/rbi/workos/update_user_organization_membership_with_role_slugs.rbi +24 -0
  454. data/rbi/workos/user_connected_account_import_error_body.rbi +30 -0
  455. data/rbi/workos/user_consent_options_not_supported_error_body.rbi +30 -0
  456. data/rbi/workos/user_creation_error_error_body_with_errors.rbi +36 -0
  457. data/rbi/workos/user_management.rbi +77 -61
  458. data/rbi/workos/user_mismatch_error_body.rbi +30 -0
  459. data/rbi/workos/vault.rbi +11 -11
  460. data/rbi/workos/verification_id_required_error_body.rbi +30 -0
  461. data/rbi/workos/version_list_response.rbi +30 -0
  462. data/rbi/workos/waitlist_list_response.rbi +36 -0
  463. data/rbi/workos/waitlist_list_response_list_metadata.rbi +30 -0
  464. data/rbi/workos/webhooks.rbi +4 -4
  465. data/rbi/workos/widgets.rbi +1 -1
  466. data/test/workos/test_agents_model_round_trip.rb +11 -0
  467. data/test/workos/test_api_keys_model_round_trip.rb +14 -0
  468. data/test/workos/test_authorization.rb +8 -0
  469. data/test/workos/test_authorization_model_round_trip.rb +23 -0
  470. data/test/workos/test_base_client.rb +4 -3
  471. data/test/workos/test_connect_model_round_trip.rb +3 -1
  472. data/test/workos/test_feature_flags_model_round_trip.rb +107 -0
  473. data/test/workos/test_groups.rb +8 -0
  474. data/test/workos/test_groups_model_round_trip.rb +11 -0
  475. data/test/workos/test_organizations_model_round_trip.rb +111 -0
  476. data/test/workos/test_pipes.rb +8 -0
  477. data/test/workos/test_pipes_model_round_trip.rb +94 -200
  478. data/test/workos/test_shared_model_round_trip.rb +2051 -432
  479. data/test/workos/test_sso_model_round_trip.rb +60 -0
  480. data/test/workos/test_user_management_model_round_trip.rb +297 -3
  481. data/test/workos/test_vault_model_round_trip.rb +30 -0
  482. metadata +376 -26
  483. data/lib/workos/pipes/add_data_integrations_get_data_integration_authorize_url_request.rb +0 -37
  484. data/lib/workos/pipes/connected_account_write_response.rb +0 -73
  485. data/lib/workos/pipes/data_integrations_upsert_api_key_request_2.rb +0 -37
  486. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request_2.rb +0 -43
  487. data/lib/workos/pipes/reauthorize_data_integrations_get_data_integration_authorize_url_request.rb +0 -40
  488. data/lib/workos/pipes/reauthorize_data_integrations_upsert_api_key_request.rb +0 -40
  489. data/lib/workos/pipes/reauthorize_data_integrations_upsert_client_credentials_request.rb +0 -46
  490. data/lib/workos/types/add_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +0 -13
  491. data/lib/workos/types/data_integrations_upsert_api_key_request_2_connection_owner.rb +0 -9
  492. data/lib/workos/types/data_integrations_upsert_client_credentials_request_2_connection_owner.rb +0 -9
  493. data/lib/workos/types/reauthorize_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +0 -9
  494. data/lib/workos/types/reauthorize_data_integrations_upsert_api_key_request_connection_owner.rb +0 -9
  495. data/lib/workos/types/reauthorize_data_integrations_upsert_client_credentials_request_connection_owner.rb +0 -9
  496. data/rbi/workos/add_data_integrations_get_data_integration_authorize_url_request.rbi +0 -60
  497. data/rbi/workos/connected_account_write_response.rbi +0 -132
  498. data/rbi/workos/data_integrations_upsert_api_key_request_2.rbi +0 -60
  499. data/rbi/workos/data_integrations_upsert_client_credentials_request_2.rbi +0 -72
  500. data/rbi/workos/reauthorize_data_integrations_get_data_integration_authorize_url_request.rbi +0 -66
  501. data/rbi/workos/reauthorize_data_integrations_upsert_api_key_request.rbi +0 -66
  502. data/rbi/workos/reauthorize_data_integrations_upsert_client_credentials_request.rbi +0 -78
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class VersionListResponse
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T::Array[WorkOS::ObjectVersion]) }
13
+ def data; end
14
+
15
+ sig { params(value: T::Array[WorkOS::ObjectVersion]).returns(T::Array[WorkOS::ObjectVersion]) }
16
+ def data=(value); end
17
+
18
+ sig { returns(WorkOS::ListMetadata) }
19
+ def list_metadata; end
20
+
21
+ sig { params(value: WorkOS::ListMetadata).returns(WorkOS::ListMetadata) }
22
+ def list_metadata=(value); end
23
+
24
+ sig { returns(T::Hash[Symbol, T.untyped]) }
25
+ def to_h; end
26
+
27
+ sig { params(args: T.untyped).returns(String) }
28
+ def to_json(*args); end
29
+ end
30
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class WaitlistListResponse
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(T::Array[WorkOS::Waitlist]) }
19
+ def data; end
20
+
21
+ sig { params(value: T::Array[WorkOS::Waitlist]).returns(T::Array[WorkOS::Waitlist]) }
22
+ def data=(value); end
23
+
24
+ sig { returns(WorkOS::WaitlistListResponseListMetadata) }
25
+ def list_metadata; end
26
+
27
+ sig { params(value: WorkOS::WaitlistListResponseListMetadata).returns(WorkOS::WaitlistListResponseListMetadata) }
28
+ def list_metadata=(value); end
29
+
30
+ sig { returns(T::Hash[Symbol, T.untyped]) }
31
+ def to_h; end
32
+
33
+ sig { params(args: T.untyped).returns(String) }
34
+ def to_json(*args); end
35
+ end
36
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class WaitlistListResponseListMetadata
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ def before; end
14
+
15
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
16
+ def before=(value); end
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ def after; end
20
+
21
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
+ def after=(value); end
23
+
24
+ sig { returns(T::Hash[Symbol, T.untyped]) }
25
+ def to_h; end
26
+
27
+ sig { params(args: T.untyped).returns(String) }
28
+ def to_json(*args); end
29
+ end
30
+ end
@@ -18,7 +18,7 @@ module WorkOS
18
18
  request_options: T::Hash[Symbol, T.untyped]
19
19
  ).returns(WorkOS::Types::ListStruct)
20
20
  end
21
- def list_webhook_endpoints(before:, after:, limit:, order:, request_options:); end
21
+ def list_webhook_endpoints(before: nil, after: nil, limit: nil, order: nil, request_options: {}); end
22
22
 
23
23
  sig do
24
24
  params(
@@ -27,7 +27,7 @@ module WorkOS
27
27
  request_options: T::Hash[Symbol, T.untyped]
28
28
  ).returns(WorkOS::WebhookEndpoint)
29
29
  end
30
- def create_webhook_endpoint(endpoint_url:, events:, request_options:); end
30
+ def create_webhook_endpoint(endpoint_url:, events:, request_options: {}); end
31
31
 
32
32
  sig do
33
33
  params(
@@ -38,7 +38,7 @@ module WorkOS
38
38
  request_options: T::Hash[Symbol, T.untyped]
39
39
  ).returns(WorkOS::WebhookEndpoint)
40
40
  end
41
- def update_webhook_endpoint(id:, endpoint_url:, status:, events:, request_options:); end
41
+ def update_webhook_endpoint(id:, endpoint_url: nil, status: nil, events: nil, request_options: {}); end
42
42
 
43
43
  sig do
44
44
  params(
@@ -46,7 +46,7 @@ module WorkOS
46
46
  request_options: T::Hash[Symbol, T.untyped]
47
47
  ).returns(NilClass)
48
48
  end
49
- def delete_webhook_endpoint(id:, request_options:); end
49
+ def delete_webhook_endpoint(id:, request_options: {}); end
50
50
 
51
51
  end
52
52
  end
@@ -17,7 +17,7 @@ module WorkOS
17
17
  request_options: T::Hash[Symbol, T.untyped]
18
18
  ).returns(WorkOS::WidgetSessionTokenResponse)
19
19
  end
20
- def create_token(organization_id:, user_id:, scopes:, request_options:); end
20
+ def create_token(organization_id: nil, user_id: nil, scopes: nil, request_options: {}); end
21
21
 
22
22
  end
23
23
  end
@@ -5,6 +5,17 @@
5
5
  require "test_helper"
6
6
 
7
7
  class AgentsModelRoundTripTest < Minitest::Test
8
+ def test_list_metadata_round_trip
9
+ fixture = {
10
+ "after" => nil,
11
+ "before" => nil
12
+ }
13
+ model = WorkOS::ListMetadata.new(fixture.to_json)
14
+ json = model.to_h
15
+ assert_kind_of Hash, json
16
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
17
+ end
18
+
8
19
  def test_agent_registration_round_trip
9
20
  fixture = {
10
21
  "id" => "stub",
@@ -281,6 +281,20 @@ class ApiKeysModelRoundTripTest < Minitest::Test
281
281
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
282
282
  end
283
283
 
284
+ def test_api_key_data_integration_vended_credential_round_trip
285
+ fixture = {
286
+ "object" => "credential",
287
+ "auth_method" => "api_key",
288
+ "value" => "stub",
289
+ "config" => {}
290
+ }
291
+ model = WorkOS::ApiKeyDataIntegrationVendedCredential.new(fixture.to_json)
292
+ json = model.to_h
293
+ assert_kind_of Hash, json
294
+ assert_equal fixture["value"], json[:value]
295
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
296
+ end
297
+
284
298
  def test_organization_api_key_with_value_owner_round_trip
285
299
  fixture = {
286
300
  "type" => "organization",
@@ -32,6 +32,13 @@ class AuthorizationTest < Minitest::Test
32
32
  assert_kind_of WorkOS::Types::ListStruct, result
33
33
  end
34
34
 
35
+ def test_patch_group_role_assignments_returns_expected_result
36
+ stub_request(:patch, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
37
+ .to_return(body: "{}", status: 200)
38
+ result = @client.authorization.patch_group_role_assignments(group_id: "stub")
39
+ assert_nil result
40
+ end
41
+
35
42
  def test_delete_group_role_assignments_returns_expected_result
36
43
  stub_request(:delete, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
37
44
  .to_return(body: "{}", status: 200)
@@ -397,6 +404,7 @@ class AuthorizationTest < Minitest::Test
397
404
  {name: :list_group_role_assignments, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub"}},
398
405
  {name: :create_group_role_assignment, verb: :post, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_slug: "stub"}},
399
406
  {name: :update_group_role_assignments, verb: :put, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_assignments: [{}]}},
407
+ {name: :patch_group_role_assignments, verb: :patch, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub"}},
400
408
  {name: :delete_group_role_assignments, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)}, args: {group_id: "stub", role_slug: "stub"}},
401
409
  {name: :get_group_role_assignment, verb: :get, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)}, args: {group_id: "stub", role_assignment_id: "stub"}},
402
410
  {name: :delete_group_role_assignment, verb: :delete, url: %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments/stub(\?|\z)}, args: {group_id: "stub", role_assignment_id: "stub"}},
@@ -47,6 +47,17 @@ class AuthorizationModelRoundTripTest < Minitest::Test
47
47
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
48
48
  end
49
49
 
50
+ def test_patch_group_role_assignments_round_trip
51
+ fixture = {
52
+ "add" => [],
53
+ "remove" => []
54
+ }
55
+ model = WorkOS::PatchGroupRoleAssignments.new(fixture.to_json)
56
+ json = model.to_h
57
+ assert_kind_of Hash, json
58
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
59
+ end
60
+
50
61
  def test_replace_group_role_assignments_round_trip
51
62
  fixture = {
52
63
  "role_assignments" => []
@@ -328,6 +339,18 @@ class AuthorizationModelRoundTripTest < Minitest::Test
328
339
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
329
340
  end
330
341
 
342
+ def test_group_role_assignment_list_round_trip
343
+ fixture = {
344
+ "object" => "list",
345
+ "data" => [],
346
+ "list_metadata" => {}
347
+ }
348
+ model = WorkOS::GroupRoleAssignmentList.new(fixture.to_json)
349
+ json = model.to_h
350
+ assert_kind_of Hash, json
351
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
352
+ end
353
+
331
354
  def test_user_role_assignment_round_trip
332
355
  fixture = {
333
356
  "object" => "role_assignment",
@@ -164,15 +164,16 @@ class BaseClientTest < Minitest::Test
164
164
  assert_equal({"external_id" => nil}, JSON.parse(request.body))
165
165
  end
166
166
 
167
- def test_retry_path_generates_idempotency_key_for_mutating_requests
167
+ def test_post_sends_one_idempotency_key_on_the_first_attempt_and_its_retries
168
168
  stub_request(:post, "https://api.workos.com/widgets")
169
169
  .to_return({status: 500, body: '{"message":"retry"}'}, {status: 200, body: "{}"})
170
170
 
171
171
  @client.singleton_class.define_method(:sleep) { |_duration| nil }
172
172
  @client.request(method: :post, path: "/widgets", body: {name: "widget"})
173
173
 
174
- assert_requested(:post, "https://api.workos.com/widgets", times: 2)
175
- assert_requested(:post, "https://api.workos.com/widgets", headers: {"Idempotency-Key" => /.+/}, times: 1)
174
+ assert_requested(:post, "https://api.workos.com/widgets", headers: {"Idempotency-Key" => /.+/}, times: 2)
175
+ keys = WebMock::RequestRegistry.instance.requested_signatures.hash.keys.map { |signature| signature.headers["Idempotency-Key"] }
176
+ assert_equal 1, keys.uniq.size
176
177
  end
177
178
 
178
179
  def test_409_idempotency_error_raises_specific_error
@@ -69,6 +69,7 @@ class ConnectModelRoundTripTest < Minitest::Test
69
69
  "description" => nil,
70
70
  "scopes" => nil,
71
71
  "redirect_uris" => nil,
72
+ "cors_origins" => nil,
72
73
  "uses_pkce" => nil,
73
74
  "is_first_party" => true,
74
75
  "organization_id" => nil
@@ -102,7 +103,8 @@ class ConnectModelRoundTripTest < Minitest::Test
102
103
  "name" => "stub",
103
104
  "description" => nil,
104
105
  "scopes" => nil,
105
- "redirect_uris" => nil
106
+ "redirect_uris" => nil,
107
+ "cors_origins" => nil
106
108
  }
107
109
  model = WorkOS::UpdateOAuthApplication.new(fixture.to_json)
108
110
  json = model.to_h
@@ -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",
@@ -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)
@@ -190,6 +197,7 @@ class PipesTest < Minitest::Test
190
197
  [
191
198
  {name: :list_data_integrations, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations(\?|\z)}},
192
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"}},
193
201
  {name: :get_data_integration, verb: :get, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
194
202
  {name: :update_data_integration, verb: :put, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},
195
203
  {name: :delete_data_integration, verb: :delete, url: %r{\Ahttps://api\.workos\.com/data-integrations/stub(\?|\z)}, args: {slug: "stub"}},