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
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ListMetadata < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ after: :after,
9
+ before: :before
10
+ }.freeze
11
+
12
+ attr_accessor \
13
+ :after,
14
+ :before
15
+
16
+ def initialize(json)
17
+ hash = self.class.normalize(json)
18
+ @after = hash[:after]
19
+ @before = hash[:before]
20
+ end
21
+ end
22
+ end
data/lib/workos/agents.rb CHANGED
@@ -59,6 +59,7 @@ module WorkOS
59
59
  # @param description [String, nil] Human-readable description of the agent blueprint.
60
60
  # @param permissions [Array<String>, nil] Permission slugs forming the ceiling on what sessions minted from this blueprint may do. Each slug must exist in the environment.
61
61
  # @param invocable_by [WorkOS::AgentBlueprintsCreateRequestInvocableBy, nil] Who may mint sessions from this blueprint.
62
+ # @param invocable_as [WorkOS::AgentBlueprintsCreateRequestInvocableAs, nil] How sessions may be minted from this blueprint.
62
63
  # @param session_settings [WorkOS::AgentBlueprintsCreateRequestSessionSetting, nil] Token and session lifetimes for sessions minted from this blueprint.
63
64
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
64
65
  # @return [WorkOS::AgentBlueprint]
@@ -67,6 +68,7 @@ module WorkOS
67
68
  description: nil,
68
69
  permissions: nil,
69
70
  invocable_by: nil,
71
+ invocable_as: nil,
70
72
  session_settings: nil,
71
73
  request_options: {}
72
74
  )
@@ -75,6 +77,7 @@ module WorkOS
75
77
  "description" => description,
76
78
  "permissions" => permissions,
77
79
  "invocable_by" => invocable_by,
80
+ "invocable_as" => invocable_as,
78
81
  "session_settings" => session_settings
79
82
  }.compact
80
83
  response = @client.request(
@@ -114,6 +117,7 @@ module WorkOS
114
117
  # @param description [String, nil] Human-readable description of the agent blueprint. Pass `null` to clear it.
115
118
  # @param permissions [Array<String>, nil] Permission slugs forming the ceiling on what sessions minted from this blueprint may do. Each slug must exist in the environment.
116
119
  # @param invocable_by [WorkOS::AgentBlueprintsUpdateRequestInvocableBy, nil] Who may mint sessions from this blueprint. Omitted lists are left unchanged.
120
+ # @param invocable_as [WorkOS::AgentBlueprintsUpdateRequestInvocableAs, nil] How sessions may be minted from this blueprint. Omitted lists are left unchanged.
117
121
  # @param session_settings [WorkOS::AgentBlueprintsUpdateRequestSessionSetting, nil] Token and session lifetimes for sessions minted from this blueprint. Omitted fields are left unchanged.
118
122
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
119
123
  # @return [WorkOS::AgentBlueprint]
@@ -123,6 +127,7 @@ module WorkOS
123
127
  description: WorkOS::OMIT,
124
128
  permissions: nil,
125
129
  invocable_by: nil,
130
+ invocable_as: nil,
126
131
  session_settings: nil,
127
132
  request_options: {}
128
133
  )
@@ -130,6 +135,7 @@ module WorkOS
130
135
  "name" => name,
131
136
  "permissions" => permissions,
132
137
  "invocable_by" => invocable_by,
138
+ "invocable_as" => invocable_as,
133
139
  "session_settings" => session_settings
134
140
  }.compact
135
141
  body["description"] = description unless description.equal?(WorkOS::OMIT)
@@ -307,6 +313,25 @@ module WorkOS
307
313
  result
308
314
  end
309
315
 
316
+ # Revoke an agent registration
317
+ # @param id [String] The unique ID of the agent registration.
318
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
319
+ # @return [WorkOS::AgentRegistration]
320
+ def revoke_registration(
321
+ id:,
322
+ request_options: {}
323
+ )
324
+ response = @client.request(
325
+ method: :post,
326
+ path: "/agents/registrations/#{WorkOS::Util.encode_path(id)}/revoke",
327
+ auth: true,
328
+ request_options: request_options
329
+ )
330
+ result = WorkOS::AgentRegistration.new(response.body)
331
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
332
+ result
333
+ end
334
+
310
335
  # List agent instances
311
336
  # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
312
337
  # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class ApiKeyDataIntegrationVendedCredential < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ auth_method: :auth_method,
10
+ value: :value,
11
+ config: :config
12
+ }.freeze
13
+
14
+ attr_accessor \
15
+ :object,
16
+ :auth_method,
17
+ :value,
18
+ :config
19
+
20
+ def initialize(json)
21
+ hash = self.class.normalize(json)
22
+ @object = hash[:object]
23
+ @auth_method = hash[:auth_method]
24
+ @value = hash[:value]
25
+ @config = hash[:config] || {}
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class PatchGroupRoleAssignments < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ add: :add,
9
+ remove: :remove
10
+ }.freeze
11
+
12
+ attr_accessor \
13
+ :add,
14
+ :remove
15
+
16
+ def initialize(json)
17
+ hash = self.class.normalize(json)
18
+ @add = (hash[:add] || []).map { |item| item ? WorkOS::ReplaceGroupRoleAssignmentEntry.new(item) : nil }
19
+ @remove = (hash[:remove] || []).map { |item| item ? WorkOS::ReplaceGroupRoleAssignmentEntry.new(item) : nil }
20
+ end
21
+ end
22
+ end
@@ -6,17 +6,20 @@ module WorkOS
6
6
  class UserRoleAssignmentSource < WorkOS::Types::BaseModel
7
7
  HASH_ATTRS = {
8
8
  type: :type,
9
- group_role_assignment_id: :group_role_assignment_id
9
+ group_role_assignment_id: :group_role_assignment_id,
10
+ group: :group
10
11
  }.freeze
11
12
 
12
13
  attr_accessor \
13
14
  :type,
14
- :group_role_assignment_id
15
+ :group_role_assignment_id,
16
+ :group
15
17
 
16
18
  def initialize(json)
17
19
  hash = self.class.normalize(json)
18
20
  @type = hash[:type]
19
21
  @group_role_assignment_id = hash[:group_role_assignment_id]
22
+ @group = hash[:group] ? WorkOS::UserRoleAssignmentSourceGroup.new(hash[:group]) : nil
20
23
  end
21
24
  end
22
25
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ UserRoleAssignmentSourceGroup = Actor
7
+ end
@@ -160,6 +160,32 @@ module WorkOS
160
160
  )
161
161
  end
162
162
 
163
+ # Update role assignments for a group
164
+ # @param group_id [String] The ID of the group.
165
+ # @param add [Array<WorkOS::ReplaceGroupRoleAssignmentEntry>, nil] Role assignments to add to the group. Assignments that already exist are skipped.
166
+ # @param remove [Array<WorkOS::ReplaceGroupRoleAssignmentEntry>, nil] Role assignments to remove from the group. Entries that match no assignment are skipped.
167
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
168
+ # @return [void]
169
+ def patch_group_role_assignments(
170
+ group_id:,
171
+ add: nil,
172
+ remove: nil,
173
+ request_options: {}
174
+ )
175
+ body = {
176
+ "add" => add,
177
+ "remove" => remove
178
+ }.compact
179
+ @client.request(
180
+ method: :patch,
181
+ path: "/authorization/groups/#{WorkOS::Util.encode_path(group_id)}/role_assignments",
182
+ auth: true,
183
+ body: body,
184
+ request_options: request_options
185
+ )
186
+ nil
187
+ end
188
+
163
189
  # Remove group role assignments by criteria
164
190
  # @param group_id [String] The ID of the group.
165
191
  # @param role_slug [String] The slug of the role to remove assignments for.
@@ -73,6 +73,9 @@ module WorkOS
73
73
  req.body = body.nil? ? "" : body.to_json
74
74
  req["Content-Type"] = "application/json"
75
75
  inject_idempotency_key(req, request_options)
76
+ # Keyed before the first attempt, so a retry after a lost response
77
+ # carries the key the server already saw.
78
+ req["Idempotency-Key"] ||= SecureRandom.uuid
76
79
  req
77
80
  end
78
81
 
@@ -15,6 +15,7 @@ module WorkOS
15
15
  updated_at: :updated_at,
16
16
  application_type: :application_type,
17
17
  redirect_uris: :redirect_uris,
18
+ cors_origins: :cors_origins,
18
19
  uses_pkce: :uses_pkce,
19
20
  is_first_party: :is_first_party,
20
21
  was_dynamically_registered: :was_dynamically_registered,
@@ -32,6 +33,7 @@ module WorkOS
32
33
  :updated_at,
33
34
  :application_type,
34
35
  :redirect_uris,
36
+ :cors_origins,
35
37
  :uses_pkce,
36
38
  :is_first_party,
37
39
  :was_dynamically_registered,
@@ -49,6 +51,7 @@ module WorkOS
49
51
  @updated_at = hash[:updated_at]
50
52
  @application_type = hash[:application_type]
51
53
  @redirect_uris = (hash[:redirect_uris] || []).map { |item| item ? WorkOS::ConnectApplicationRedirectUri.new(item) : nil }
54
+ @cors_origins = hash[:cors_origins] || []
52
55
  @uses_pkce = hash[:uses_pkce]
53
56
  @is_first_party = hash[:is_first_party]
54
57
  @was_dynamically_registered = hash[:was_dynamically_registered]
@@ -10,6 +10,7 @@ module WorkOS
10
10
  description: :description,
11
11
  scopes: :scopes,
12
12
  redirect_uris: :redirect_uris,
13
+ cors_origins: :cors_origins,
13
14
  uses_pkce: :uses_pkce,
14
15
  is_first_party: :is_first_party,
15
16
  organization_id: :organization_id
@@ -21,6 +22,7 @@ module WorkOS
21
22
  :description,
22
23
  :scopes,
23
24
  :redirect_uris,
25
+ :cors_origins,
24
26
  :uses_pkce,
25
27
  :is_first_party,
26
28
  :organization_id
@@ -32,6 +34,7 @@ module WorkOS
32
34
  @description = hash[:description]
33
35
  @scopes = hash[:scopes] || []
34
36
  @redirect_uris = (hash[:redirect_uris] || []).map { |item| item ? WorkOS::RedirectUriInput.new(item) : nil }
37
+ @cors_origins = hash[:cors_origins] || []
35
38
  @uses_pkce = hash[:uses_pkce]
36
39
  @is_first_party = hash[:is_first_party]
37
40
  @organization_id = hash[:organization_id]
@@ -8,14 +8,16 @@ module WorkOS
8
8
  name: :name,
9
9
  description: :description,
10
10
  scopes: :scopes,
11
- redirect_uris: :redirect_uris
11
+ redirect_uris: :redirect_uris,
12
+ cors_origins: :cors_origins
12
13
  }.freeze
13
14
 
14
15
  attr_accessor \
15
16
  :name,
16
17
  :description,
17
18
  :scopes,
18
- :redirect_uris
19
+ :redirect_uris,
20
+ :cors_origins
19
21
 
20
22
  def initialize(json)
21
23
  hash = self.class.normalize(json)
@@ -23,6 +25,7 @@ module WorkOS
23
25
  @description = hash[:description]
24
26
  @scopes = hash[:scopes] || []
25
27
  @redirect_uris = (hash[:redirect_uris] || []).map { |item| item ? WorkOS::RedirectUriInput.new(item) : nil }
28
+ @cors_origins = hash[:cors_origins] || []
26
29
  end
27
30
  end
28
31
  end
@@ -97,6 +97,7 @@ module WorkOS
97
97
  # @param description [String, nil] A description for the application.
98
98
  # @param scopes [Array<String>, nil] The OAuth scopes granted to the application.
99
99
  # @param redirect_uris [Array<WorkOS::RedirectUriInput>, nil] Redirect URIs for the application.
100
+ # @param cors_origins [Array<String>, nil] Origins allowed to call the OAuth token endpoint for this application from a browser.
100
101
  # @param uses_pkce [Boolean, nil] Whether the application uses PKCE (Proof Key for Code Exchange).
101
102
  # @param is_first_party [Boolean, nil] Whether this is a first-party application. Third-party applications require an organization_id.
102
103
  # @param organization_id [String, nil] The organization ID this application belongs to. Required when is_first_party is false.
@@ -108,6 +109,7 @@ module WorkOS
108
109
  description: WorkOS::OMIT,
109
110
  scopes: WorkOS::OMIT,
110
111
  redirect_uris: WorkOS::OMIT,
112
+ cors_origins: WorkOS::OMIT,
111
113
  uses_pkce: WorkOS::OMIT,
112
114
  is_first_party: nil,
113
115
  organization_id: WorkOS::OMIT,
@@ -121,6 +123,7 @@ module WorkOS
121
123
  body["description"] = description unless description.equal?(WorkOS::OMIT)
122
124
  body["scopes"] = scopes unless scopes.equal?(WorkOS::OMIT)
123
125
  body["redirect_uris"] = redirect_uris unless redirect_uris.equal?(WorkOS::OMIT)
126
+ body["cors_origins"] = cors_origins unless cors_origins.equal?(WorkOS::OMIT)
124
127
  body["uses_pkce"] = uses_pkce unless uses_pkce.equal?(WorkOS::OMIT)
125
128
  body["organization_id"] = organization_id unless organization_id.equal?(WorkOS::OMIT)
126
129
  response = @client.request(
@@ -231,6 +234,7 @@ module WorkOS
231
234
  # @param description [String, nil] A description for the application.
232
235
  # @param scopes [Array<String>, nil] The OAuth scopes granted to the application.
233
236
  # @param redirect_uris [Array<WorkOS::RedirectUriInput>, nil] Updated redirect URIs for the application. OAuth applications only.
237
+ # @param cors_origins [Array<String>, nil] Updated origins allowed to call the OAuth token endpoint for this application from a browser. Replaces the existing list. OAuth applications only.
234
238
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
235
239
  # @return [WorkOS::ConnectApplication]
236
240
  def update_application(
@@ -239,6 +243,7 @@ module WorkOS
239
243
  description: WorkOS::OMIT,
240
244
  scopes: WorkOS::OMIT,
241
245
  redirect_uris: WorkOS::OMIT,
246
+ cors_origins: WorkOS::OMIT,
242
247
  request_options: {}
243
248
  )
244
249
  body = {
@@ -247,6 +252,7 @@ module WorkOS
247
252
  body["description"] = description unless description.equal?(WorkOS::OMIT)
248
253
  body["scopes"] = scopes unless scopes.equal?(WorkOS::OMIT)
249
254
  body["redirect_uris"] = redirect_uris unless redirect_uris.equal?(WorkOS::OMIT)
255
+ body["cors_origins"] = cors_origins unless cors_origins.equal?(WorkOS::OMIT)
250
256
  response = @client.request(
251
257
  method: :put,
252
258
  path: "/connect/applications/#{WorkOS::Util.encode_path(id)}",
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class DirectorySyncRateLimitError < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ code: :code,
9
+ message: :message,
10
+ retry_after_seconds: :retry_after_seconds
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :code,
15
+ :message,
16
+ :retry_after_seconds
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @code = hash[:code]
21
+ @message = hash[:message]
22
+ @retry_after_seconds = hash[:retry_after_seconds]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class DirectorySyncResponse < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ status: :status
9
+ }.freeze
10
+
11
+ attr_accessor :status
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @status = hash[:status]
16
+ end
17
+ end
18
+ end
@@ -102,6 +102,25 @@ module WorkOS
102
102
  nil
103
103
  end
104
104
 
105
+ # Sync a Directory
106
+ # @param id [String] Unique identifier for the Directory.
107
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
108
+ # @return [WorkOS::DirectorySyncResponse]
109
+ def create_directory_sync(
110
+ id:,
111
+ request_options: {}
112
+ )
113
+ response = @client.request(
114
+ method: :post,
115
+ path: "/directories/#{WorkOS::Util.encode_path(id)}/sync",
116
+ auth: true,
117
+ request_options: request_options
118
+ )
119
+ result = WorkOS::DirectorySyncResponse.new(response.body)
120
+ result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
121
+ result
122
+ end
123
+
105
124
  # List Directory Groups
106
125
  # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
107
126
  # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
data/lib/workos/events.rb CHANGED
@@ -11,32 +11,26 @@ module WorkOS
11
11
  end
12
12
 
13
13
  # List events
14
- # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`.
15
14
  # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`.
16
15
  # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
17
- # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records).
18
16
  # @param events [Array<String>] Filter events by one or more event types (e.g. `dsync.user.created`).
19
- # @param range_start [String, nil] ISO-8601 date string to filter events created after this date.
20
- # @param range_end [String, nil] ISO-8601 date string to filter events created before this date.
17
+ # @param range_start [String, nil] ISO 8601 UTC timestamp with a `Z` suffix to filter events created after this date. Timezone offsets such as `+00:00` are not accepted.
18
+ # @param range_end [String, nil] ISO 8601 UTC timestamp with a `Z` suffix to filter events created before this date. Timezone offsets such as `+00:00` are not accepted.
21
19
  # @param organization_id [String, nil] Filter events by the [Organization](https://workos.com/docs/reference/organization) that the event is associated with.
22
20
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
23
21
  # @return [WorkOS::Types::ListStruct<WorkOS::EventSchema>]
24
22
  def list_events(
25
23
  events:,
26
- before: nil,
27
24
  after: nil,
28
25
  limit: 10,
29
- order: "desc",
30
26
  range_start: nil,
31
27
  range_end: nil,
32
28
  organization_id: nil,
33
29
  request_options: {}
34
30
  )
35
31
  params = {
36
- "before" => before,
37
32
  "after" => after,
38
33
  "limit" => limit,
39
- "order" => order,
40
34
  "events" => events,
41
35
  "range_start" => range_start,
42
36
  "range_end" => range_end,
@@ -51,10 +45,8 @@ module WorkOS
51
45
  )
52
46
  fetch_next = ->(cursor) {
53
47
  list_events(
54
- before: before,
55
48
  after: cursor,
56
49
  limit: limit,
57
- order: order,
58
50
  events: events,
59
51
  range_start: range_start,
60
52
  range_end: range_end,
@@ -65,7 +57,7 @@ module WorkOS
65
57
  WorkOS::Types::ListStruct.from_response(
66
58
  response,
67
59
  model: WorkOS::EventSchema,
68
- filters: {before: before, limit: limit, order: order, events: events, range_start: range_start, range_end: range_end, organization_id: organization_id},
60
+ filters: {limit: limit, events: events, range_start: range_start, range_end: range_end, organization_id: organization_id},
69
61
  fetch_next: fetch_next
70
62
  )
71
63
  end
@@ -3,50 +3,5 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- class FlagCreatedData < WorkOS::Types::BaseModel
7
- HASH_ATTRS = {
8
- object: :object,
9
- id: :id,
10
- environment_id: :environment_id,
11
- slug: :slug,
12
- name: :name,
13
- description: :description,
14
- owner: :owner,
15
- tags: :tags,
16
- enabled: :enabled,
17
- default_value: :default_value,
18
- created_at: :created_at,
19
- updated_at: :updated_at
20
- }.freeze
21
-
22
- attr_accessor \
23
- :object,
24
- :id,
25
- :environment_id,
26
- :slug,
27
- :name,
28
- :description,
29
- :owner,
30
- :tags,
31
- :enabled,
32
- :default_value,
33
- :created_at,
34
- :updated_at
35
-
36
- def initialize(json)
37
- hash = self.class.normalize(json)
38
- @object = hash[:object]
39
- @id = hash[:id]
40
- @environment_id = hash[:environment_id]
41
- @slug = hash[:slug]
42
- @name = hash[:name]
43
- @description = hash[:description]
44
- @owner = hash[:owner] ? WorkOS::FlagCreatedDataOwner.new(hash[:owner]) : nil
45
- @tags = hash[:tags] || []
46
- @enabled = hash[:enabled]
47
- @default_value = hash[:default_value]
48
- @created_at = hash[:created_at]
49
- @updated_at = hash[:updated_at]
50
- end
51
- end
6
+ FlagCreatedData = FeatureFlagsFlagCreatedData
52
7
  end
@@ -3,5 +3,5 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- FlagDeletedData = FlagCreatedData
6
+ FlagDeletedData = FeatureFlagsFlagCreatedData
7
7
  end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class FlagRule < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ flag_id: :flag_id,
11
+ flag_slug: :flag_slug,
12
+ environment_id: :environment_id,
13
+ target_type: :target_type,
14
+ position: :position,
15
+ value_type: :value_type,
16
+ value: :value,
17
+ created_at: :created_at,
18
+ updated_at: :updated_at
19
+ }.freeze
20
+
21
+ attr_accessor \
22
+ :object,
23
+ :id,
24
+ :flag_id,
25
+ :flag_slug,
26
+ :environment_id,
27
+ :target_type,
28
+ :position,
29
+ :value_type,
30
+ :value,
31
+ :created_at,
32
+ :updated_at
33
+
34
+ def initialize(json)
35
+ hash = self.class.normalize(json)
36
+ @object = hash[:object]
37
+ @id = hash[:id]
38
+ @flag_id = hash[:flag_id]
39
+ @flag_slug = hash[:flag_slug]
40
+ @environment_id = hash[:environment_id]
41
+ @target_type = hash[:target_type]
42
+ @position = hash[:position]
43
+ @value_type = hash[:value_type]
44
+ @value = hash[:value]
45
+ @created_at = hash[:created_at]
46
+ @updated_at = hash[:updated_at]
47
+ end
48
+ end
49
+ end
@@ -3,5 +3,5 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  module WorkOS
6
- FlagRuleUpdatedData = FlagCreatedData
6
+ FlagRuleUpdatedData = FeatureFlagsFlagCreatedData
7
7
  end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class FlagTarget < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ flag_id: :flag_id,
11
+ flag_slug: :flag_slug,
12
+ environment_id: :environment_id,
13
+ target_type: :target_type,
14
+ target_id: :target_id,
15
+ created_at: :created_at,
16
+ updated_at: :updated_at,
17
+ rule_id: :rule_id,
18
+ value_type: :value_type,
19
+ value: :value
20
+ }.freeze
21
+
22
+ attr_accessor \
23
+ :object,
24
+ :id,
25
+ :flag_id,
26
+ :flag_slug,
27
+ :environment_id,
28
+ :target_type,
29
+ :target_id,
30
+ :created_at,
31
+ :updated_at,
32
+ :rule_id,
33
+ :value_type,
34
+ :value
35
+
36
+ def initialize(json)
37
+ hash = self.class.normalize(json)
38
+ @object = hash[:object]
39
+ @id = hash[:id]
40
+ @flag_id = hash[:flag_id]
41
+ @flag_slug = hash[:flag_slug]
42
+ @environment_id = hash[:environment_id]
43
+ @target_type = hash[:target_type]
44
+ @target_id = hash[:target_id]
45
+ @created_at = hash[:created_at]
46
+ @updated_at = hash[:updated_at]
47
+ @rule_id = hash[:rule_id]
48
+ @value_type = hash[:value_type]
49
+ @value = hash[:value]
50
+ end
51
+ end
52
+ end