workos 10.2.1 → 10.3.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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/.last-synced-sha +1 -1
  3. data/.oagen-manifest.json +311 -0
  4. data/.release-please-manifest.json +1 -1
  5. data/CHANGELOG.md +154 -0
  6. data/Gemfile.lock +2 -2
  7. data/lib/workos/agents/agent_blueprint.rb +43 -0
  8. data/lib/workos/agents/agent_blueprint_invocable_by.rb +7 -0
  9. data/lib/workos/agents/agent_blueprint_session_setting.rb +25 -0
  10. data/lib/workos/agents/agent_blueprints_create_request.rb +31 -0
  11. data/lib/workos/agents/agent_blueprints_create_request_invocable_by.rb +22 -0
  12. data/lib/workos/agents/agent_blueprints_create_request_session_setting.rb +7 -0
  13. data/lib/workos/agents/agent_blueprints_token_mint_token_request.rb +34 -0
  14. data/lib/workos/agents/agent_blueprints_token_validate_token_request.rb +18 -0
  15. data/lib/workos/agents/agent_blueprints_update_request.rb +31 -0
  16. data/lib/workos/agents/agent_blueprints_update_request_invocable_by.rb +7 -0
  17. data/lib/workos/agents/agent_blueprints_update_request_session_setting.rb +25 -0
  18. data/lib/workos/agents/agent_instance.rb +40 -0
  19. data/lib/workos/agents/agent_instance_session.rb +40 -0
  20. data/lib/workos/agents/agent_token.rb +40 -0
  21. data/lib/workos/agents/agent_token_validation.rb +40 -0
  22. data/lib/workos/agents.rb +395 -0
  23. data/lib/workos/api_keys/validate_api_key.rb +1 -12
  24. data/lib/workos/audit_logs.rb +23 -5
  25. data/lib/workos/authorization.rb +3 -3
  26. data/lib/workos/client.rb +4 -0
  27. data/lib/workos/inflections.rb +15 -0
  28. data/lib/workos/organizations/create_it_contact.rb +18 -0
  29. data/lib/workos/organizations/invite_it_contact.rb +18 -0
  30. data/lib/workos/organizations/it_contact.rb +31 -0
  31. data/lib/workos/organizations/it_contact_list.rb +25 -0
  32. data/lib/workos/organizations/organization_input.rb +10 -1
  33. data/lib/workos/organizations/update_audit_logs_retention.rb +13 -1
  34. data/lib/workos/organizations.rb +110 -1
  35. data/lib/workos/platform_teams/create_team.rb +22 -0
  36. data/lib/workos/platform_teams/team.rb +37 -0
  37. data/lib/workos/platform_teams.rb +58 -0
  38. data/lib/workos/shared/agent_blueprint_created.rb +34 -0
  39. data/lib/workos/shared/agent_blueprint_created_data.rb +43 -0
  40. data/lib/workos/shared/agent_blueprint_created_data_invocable_by.rb +22 -0
  41. data/lib/workos/shared/agent_blueprint_created_data_session_setting.rb +25 -0
  42. data/lib/workos/shared/agent_blueprint_deleted.rb +34 -0
  43. data/lib/workos/shared/agent_blueprint_deleted_data.rb +31 -0
  44. data/lib/workos/shared/agent_blueprint_updated.rb +34 -0
  45. data/lib/workos/shared/agent_blueprint_updated_data.rb +7 -0
  46. data/lib/workos/shared/agent_blueprint_updated_data_invocable_by.rb +7 -0
  47. data/lib/workos/shared/agent_blueprint_updated_data_session_setting.rb +7 -0
  48. data/lib/workos/shared/agent_instance_created.rb +34 -0
  49. data/lib/workos/shared/agent_instance_created_data.rb +40 -0
  50. data/lib/workos/shared/agent_instance_deleted.rb +34 -0
  51. data/lib/workos/shared/agent_instance_deleted_data.rb +40 -0
  52. data/lib/workos/shared/agent_instance_session_created.rb +34 -0
  53. data/lib/workos/shared/agent_instance_session_created_data.rb +43 -0
  54. data/lib/workos/shared/agent_instance_session_revoked.rb +34 -0
  55. data/lib/workos/shared/agent_instance_session_revoked_data.rb +40 -0
  56. data/lib/workos/shared/resource_export_completed.rb +34 -0
  57. data/lib/workos/shared/resource_export_completed_data.rb +22 -0
  58. data/lib/workos/shared/resource_export_created.rb +34 -0
  59. data/lib/workos/shared/resource_export_created_data.rb +22 -0
  60. data/lib/workos/shared/resource_export_downloaded.rb +34 -0
  61. data/lib/workos/shared/resource_export_downloaded_data.rb +22 -0
  62. data/lib/workos/shared/resource_export_failed.rb +34 -0
  63. data/lib/workos/shared/resource_export_failed_data.rb +22 -0
  64. data/lib/workos/shared/waitlist_user.rb +8 -5
  65. data/lib/workos/sso/create_connection.rb +37 -0
  66. data/lib/workos/sso/create_connection_attribute_maps.rb +22 -0
  67. data/lib/workos/sso/create_connection_key_pair.rb +22 -0
  68. data/lib/workos/sso/create_connection_oidc_options.rb +43 -0
  69. data/lib/workos/sso/create_connection_saml_options.rb +40 -0
  70. data/lib/workos/sso/create_connection_standard_attributes.rb +34 -0
  71. data/lib/workos/sso/create_saml_idp_signing_certificate.rb +18 -0
  72. data/lib/workos/sso/patch_connection.rb +34 -0
  73. data/lib/workos/sso/patch_connection_attribute_maps.rb +22 -0
  74. data/lib/workos/sso/patch_connection_oidc_options.rb +40 -0
  75. data/lib/workos/sso/patch_connection_saml_options.rb +31 -0
  76. data/lib/workos/sso/patch_connection_standard_attributes.rb +7 -0
  77. data/lib/workos/sso/saml_idp_signing_certificate.rb +34 -0
  78. data/lib/workos/sso/saml_idp_signing_certificate_list.rb +22 -0
  79. data/lib/workos/sso/saml_sp_encryption_certificate.rb +34 -0
  80. data/lib/workos/sso/saml_sp_encryption_certificate_list.rb +22 -0
  81. data/lib/workos/sso/saml_sp_signing_certificate.rb +34 -0
  82. data/lib/workos/sso/token_query.rb +11 -2
  83. data/lib/workos/sso.rb +305 -4
  84. data/lib/workos/types/agent_blueprints_token_mint_token_request_type.rb +15 -0
  85. data/lib/workos/types/agent_instance_created_data_type.rb +13 -0
  86. data/lib/workos/types/agent_instance_deleted_data_type.rb +9 -0
  87. data/lib/workos/types/agent_instance_session_status.rb +14 -0
  88. data/lib/workos/types/agent_instance_type.rb +9 -0
  89. data/lib/workos/types/authenticate_response_authentication_method.rb +1 -4
  90. data/lib/workos/types/connection_activated_data_connection_type.rb +1 -4
  91. data/lib/workos/types/connection_type.rb +1 -4
  92. data/lib/workos/types/connections_connection_type.rb +1 -4
  93. data/lib/workos/types/create_connection_oidc_options_id_token_signature_algorithm.rb +24 -0
  94. data/lib/workos/types/create_connection_oidc_options_token_authentication_method.rb +14 -0
  95. data/lib/workos/types/create_webhook_endpoint_events.rb +8 -1
  96. data/lib/workos/types/invite_it_contact_intents.rb +16 -0
  97. data/lib/workos/types/patch_connection_oidc_options_id_token_signature_algorithm.rb +9 -0
  98. data/lib/workos/types/patch_connection_oidc_options_token_authentication_method.rb +9 -0
  99. data/lib/workos/types/resource_export_completed_data_resource_type.rb +16 -0
  100. data/lib/workos/types/resource_export_created_data_resource_type.rb +9 -0
  101. data/lib/workos/types/resource_export_downloaded_data_resource_type.rb +9 -0
  102. data/lib/workos/types/resource_export_failed_data_resource_type.rb +9 -0
  103. data/lib/workos/types/session_created_data_status.rb +1 -6
  104. data/lib/workos/types/session_revoked_data_status.rb +1 -1
  105. data/lib/workos/types/sso_grant_type.rb +13 -0
  106. data/lib/workos/types/team_production_state.rb +15 -0
  107. data/lib/workos/types/token_query_grant_type.rb +9 -0
  108. data/lib/workos/types/update_audit_logs_retention_retention_period.rb +32 -0
  109. data/lib/workos/types/user_identities_get_item_provider.rb +1 -4
  110. data/lib/workos/types/user_management_waitlists_state.rb +14 -0
  111. data/lib/workos/types/user_sessions_status.rb +1 -1
  112. data/lib/workos/types/waitlist_entry_state.rb +9 -0
  113. data/lib/workos/types/waitlist_user_state.rb +1 -6
  114. data/lib/workos/user_management/authentication_oauth_failed_data.rb +5 -2
  115. data/lib/workos/user_management/authentication_oauth_succeeded_data.rb +5 -2
  116. data/lib/workos/user_management/create_password_reset_token.rb +1 -12
  117. data/lib/workos/user_management/create_waitlist_entry.rb +25 -0
  118. data/lib/workos/user_management/email_completion_session_authenticate_request.rb +43 -0
  119. data/lib/workos/user_management/waitlist.rb +28 -0
  120. data/lib/workos/user_management/waitlist_entry.rb +43 -0
  121. data/lib/workos/user_management.rb +176 -0
  122. data/lib/workos/version.rb +1 -1
  123. data/lib/workos.rb +1 -0
  124. data/rbi/workos/agent_blueprint.rbi +72 -0
  125. data/rbi/workos/agent_blueprint_created.rbi +54 -0
  126. data/rbi/workos/agent_blueprint_created_data.rbi +72 -0
  127. data/rbi/workos/agent_blueprint_created_data_invocable_by.rbi +30 -0
  128. data/rbi/workos/agent_blueprint_created_data_session_setting.rbi +36 -0
  129. data/rbi/workos/agent_blueprint_deleted.rbi +54 -0
  130. data/rbi/workos/agent_blueprint_deleted_data.rbi +48 -0
  131. data/rbi/workos/agent_blueprint_invocable_by.rbi +30 -0
  132. data/rbi/workos/agent_blueprint_session_setting.rbi +36 -0
  133. data/rbi/workos/agent_blueprint_updated.rbi +54 -0
  134. data/rbi/workos/agent_blueprint_updated_data.rbi +72 -0
  135. data/rbi/workos/agent_blueprint_updated_data_invocable_by.rbi +30 -0
  136. data/rbi/workos/agent_blueprint_updated_data_session_setting.rbi +36 -0
  137. data/rbi/workos/agent_blueprints_create_request.rbi +48 -0
  138. data/rbi/workos/agent_blueprints_create_request_invocable_by.rbi +30 -0
  139. data/rbi/workos/agent_blueprints_create_request_session_setting.rbi +36 -0
  140. data/rbi/workos/agent_blueprints_token_mint_token_request.rbi +54 -0
  141. data/rbi/workos/agent_blueprints_token_validate_token_request.rbi +24 -0
  142. data/rbi/workos/agent_blueprints_update_request.rbi +48 -0
  143. data/rbi/workos/agent_blueprints_update_request_invocable_by.rbi +30 -0
  144. data/rbi/workos/agent_blueprints_update_request_session_setting.rbi +36 -0
  145. data/rbi/workos/agent_instance.rbi +66 -0
  146. data/rbi/workos/agent_instance_created.rbi +54 -0
  147. data/rbi/workos/agent_instance_created_data.rbi +66 -0
  148. data/rbi/workos/agent_instance_deleted.rbi +54 -0
  149. data/rbi/workos/agent_instance_deleted_data.rbi +66 -0
  150. data/rbi/workos/agent_instance_session.rbi +66 -0
  151. data/rbi/workos/agent_instance_session_created.rbi +54 -0
  152. data/rbi/workos/agent_instance_session_created_data.rbi +72 -0
  153. data/rbi/workos/agent_instance_session_revoked.rbi +54 -0
  154. data/rbi/workos/agent_instance_session_revoked_data.rbi +66 -0
  155. data/rbi/workos/agent_token.rbi +66 -0
  156. data/rbi/workos/agent_token_validation.rbi +66 -0
  157. data/rbi/workos/agents.rbi +133 -0
  158. data/rbi/workos/audit_logs.rbi +26 -2
  159. data/rbi/workos/authentication_oauth_failed_data.rbi +6 -0
  160. data/rbi/workos/authentication_oauth_succeeded_data.rbi +6 -0
  161. data/rbi/workos/client.rbi +3 -0
  162. data/rbi/workos/create_connection.rbi +60 -0
  163. data/rbi/workos/create_connection_attribute_maps.rbi +30 -0
  164. data/rbi/workos/create_connection_key_pair.rbi +30 -0
  165. data/rbi/workos/create_connection_oidc_options.rbi +72 -0
  166. data/rbi/workos/create_connection_saml_options.rbi +66 -0
  167. data/rbi/workos/create_connection_standard_attributes.rbi +54 -0
  168. data/rbi/workos/create_it_contact.rbi +24 -0
  169. data/rbi/workos/create_saml_idp_signing_certificate.rbi +24 -0
  170. data/rbi/workos/create_team.rbi +30 -0
  171. data/rbi/workos/create_waitlist_entry.rbi +36 -0
  172. data/rbi/workos/email_completion_session_authenticate_request.rbi +72 -0
  173. data/rbi/workos/invite_it_contact.rbi +24 -0
  174. data/rbi/workos/it_contact.rbi +48 -0
  175. data/rbi/workos/organizations.rbi +45 -0
  176. data/rbi/workos/patch_connection.rbi +54 -0
  177. data/rbi/workos/patch_connection_attribute_maps.rbi +30 -0
  178. data/rbi/workos/patch_connection_oidc_options.rbi +66 -0
  179. data/rbi/workos/patch_connection_saml_options.rbi +48 -0
  180. data/rbi/workos/patch_connection_standard_attributes.rbi +54 -0
  181. data/rbi/workos/platform_teams.rbi +30 -0
  182. data/rbi/workos/resource_export_completed.rbi +54 -0
  183. data/rbi/workos/resource_export_completed_data.rbi +30 -0
  184. data/rbi/workos/resource_export_created.rbi +54 -0
  185. data/rbi/workos/resource_export_created_data.rbi +30 -0
  186. data/rbi/workos/resource_export_downloaded.rbi +54 -0
  187. data/rbi/workos/resource_export_downloaded_data.rbi +30 -0
  188. data/rbi/workos/resource_export_failed.rbi +54 -0
  189. data/rbi/workos/resource_export_failed_data.rbi +30 -0
  190. data/rbi/workos/saml_idp_signing_certificate.rbi +54 -0
  191. data/rbi/workos/saml_idp_signing_certificate_list.rbi +30 -0
  192. data/rbi/workos/saml_sp_encryption_certificate.rbi +54 -0
  193. data/rbi/workos/saml_sp_encryption_certificate_list.rbi +30 -0
  194. data/rbi/workos/saml_sp_signing_certificate.rbi +54 -0
  195. data/rbi/workos/sso.rbi +155 -2
  196. data/rbi/workos/team.rbi +60 -0
  197. data/rbi/workos/token_query.rbi +20 -2
  198. data/rbi/workos/update_audit_logs_retention.rbi +8 -2
  199. data/rbi/workos/user_management.rbi +64 -0
  200. data/rbi/workos/waitlist.rbi +42 -0
  201. data/rbi/workos/waitlist_entry.rbi +72 -0
  202. data/rbi/workos/waitlist_user.rbi +12 -6
  203. data/test/workos/test_agents.rb +105 -1
  204. data/test/workos/test_agents_model_round_trip.rb +245 -0
  205. data/test/workos/test_audit_logs.rb +11 -2
  206. data/test/workos/test_authorization.rb +6 -6
  207. data/test/workos/test_organizations.rb +41 -1
  208. data/test/workos/test_organizations_model_round_trip.rb +40 -1
  209. data/test/workos/test_platform_teams.rb +41 -0
  210. data/test/workos/test_platform_teams_model_round_trip.rb +41 -0
  211. data/test/workos/test_shared_model_round_trip.rb +449 -2
  212. data/test/workos/test_sso.rb +108 -2
  213. data/test/workos/test_sso_model_round_trip.rb +262 -2
  214. data/test/workos/test_user_management.rb +56 -0
  215. data/test/workos/test_user_management_model_round_trip.rb +78 -2
  216. metadata +160 -1
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class WaitlistEntry < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ id: :id,
9
+ email: :email,
10
+ state: :state,
11
+ approved_at: :approved_at,
12
+ additional_fields: :additional_fields,
13
+ waitlist_id: :waitlist_id,
14
+ created_at: :created_at,
15
+ updated_at: :updated_at,
16
+ object: :object
17
+ }.freeze
18
+
19
+ attr_accessor \
20
+ :id,
21
+ :email,
22
+ :state,
23
+ :approved_at,
24
+ :additional_fields,
25
+ :waitlist_id,
26
+ :created_at,
27
+ :updated_at,
28
+ :object
29
+
30
+ def initialize(json)
31
+ hash = self.class.normalize(json)
32
+ @id = hash[:id]
33
+ @email = hash[:email]
34
+ @state = hash[:state]
35
+ @approved_at = hash[:approved_at]
36
+ @additional_fields = hash[:additional_fields] || {}
37
+ @waitlist_id = hash[:waitlist_id]
38
+ @created_at = hash[:created_at]
39
+ @updated_at = hash[:updated_at]
40
+ @object = hash[:object]
41
+ end
42
+ end
43
+ end
@@ -68,6 +68,7 @@ module WorkOS
68
68
  # @param organization_id [String, nil] The ID of the organization to scope the session to.
69
69
  # @param pending_authentication_token [String, nil] The pending authentication token from a previous authentication attempt.
70
70
  # @param authentication_challenge_id [String, nil] The ID of the MFA authentication challenge.
71
+ # @param email_completion_token [String, nil] The token from the `email_completion_required` response.
71
72
  # @param radar_challenge_id [String, nil] The ID of the Radar email challenge being verified.
72
73
  # @param verification_id [String, nil] The ID of the Radar SMS verification being confirmed. Required for sign-up challenges; omitted for sign-in challenges, where the verification is resolved server-side.
73
74
  # @param phone_number [String, nil] The phone number the Radar SMS challenge was sent to. Required for sign-up challenges; omitted for sign-in challenges, where the phone number on file is resolved server-side.
@@ -92,6 +93,7 @@ module WorkOS
92
93
  organization_id: nil,
93
94
  pending_authentication_token: nil,
94
95
  authentication_challenge_id: nil,
96
+ email_completion_token: nil,
95
97
  radar_challenge_id: nil,
96
98
  verification_id: nil,
97
99
  phone_number: nil,
@@ -116,6 +118,7 @@ module WorkOS
116
118
  "organization_id" => organization_id,
117
119
  "pending_authentication_token" => pending_authentication_token,
118
120
  "authentication_challenge_id" => authentication_challenge_id,
121
+ "email_completion_token" => email_completion_token,
119
122
  "radar_challenge_id" => radar_challenge_id,
120
123
  "verification_id" => verification_id,
121
124
  "phone_number" => phone_number,
@@ -1686,6 +1689,179 @@ module WorkOS
1686
1689
  nil
1687
1690
  end
1688
1691
 
1692
+ # Delete a waitlist entry
1693
+ # @param id [String] The unique ID of the waitlist entry.
1694
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1695
+ # @return [void]
1696
+ def delete_waitlist_entry(
1697
+ id:,
1698
+ request_options: {}
1699
+ )
1700
+ @client.request(
1701
+ method: :delete,
1702
+ path: "/user_management/waitlist_entries/#{WorkOS::Util.encode_path(id)}",
1703
+ auth: true,
1704
+ request_options: request_options
1705
+ )
1706
+ nil
1707
+ end
1708
+
1709
+ # Approve a waitlist entry
1710
+ # @param id [String] The unique ID of the waitlist entry.
1711
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1712
+ # @return [WorkOS::WaitlistEntry]
1713
+ def create_waitlist_entry_approve(
1714
+ id:,
1715
+ request_options: {}
1716
+ )
1717
+ response = @client.request(
1718
+ method: :post,
1719
+ path: "/user_management/waitlist_entries/#{WorkOS::Util.encode_path(id)}/approve",
1720
+ auth: true,
1721
+ request_options: request_options
1722
+ )
1723
+ result = WorkOS::WaitlistEntry.new(response.body)
1724
+ 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"])
1725
+ result
1726
+ end
1727
+
1728
+ # Deny a waitlist entry
1729
+ # @param id [String] The unique ID of the waitlist entry.
1730
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1731
+ # @return [WorkOS::WaitlistEntry]
1732
+ def create_waitlist_entry_deny(
1733
+ id:,
1734
+ request_options: {}
1735
+ )
1736
+ response = @client.request(
1737
+ method: :post,
1738
+ path: "/user_management/waitlist_entries/#{WorkOS::Util.encode_path(id)}/deny",
1739
+ auth: true,
1740
+ request_options: request_options
1741
+ )
1742
+ result = WorkOS::WaitlistEntry.new(response.body)
1743
+ 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"])
1744
+ result
1745
+ end
1746
+
1747
+ # List waitlists
1748
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1749
+ # @return [WorkOS::Types::ListStruct<WorkOS::Waitlist>]
1750
+ def list_waitlists(request_options: {})
1751
+ response = @client.request(
1752
+ method: :get,
1753
+ path: "/user_management/waitlists",
1754
+ auth: true,
1755
+ request_options: request_options
1756
+ )
1757
+ WorkOS::Types::ListStruct.from_response(response, model: WorkOS::Waitlist)
1758
+ end
1759
+
1760
+ # Get a waitlist
1761
+ # @param id [String] The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. The default waitlist is created when its first entry is added, so read requests for `default` return a `404` until then.
1762
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1763
+ # @return [WorkOS::Waitlist]
1764
+ def get_waitlist(
1765
+ id:,
1766
+ request_options: {}
1767
+ )
1768
+ response = @client.request(
1769
+ method: :get,
1770
+ path: "/user_management/waitlists/#{WorkOS::Util.encode_path(id)}",
1771
+ auth: true,
1772
+ request_options: request_options
1773
+ )
1774
+ result = WorkOS::Waitlist.new(response.body)
1775
+ 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"])
1776
+ result
1777
+ end
1778
+
1779
+ # List waitlist entries
1780
+ # @param id [String] The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. The default waitlist is created when its first entry is added, so read requests for `default` return a `404` until then.
1781
+ # @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"`.
1782
+ # @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"`.
1783
+ # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`.
1784
+ # @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).
1785
+ # @param state [WorkOS::Types::UserManagementWaitlistsState, nil] Filter waitlist entries by their state.
1786
+ # @param email [String, nil] Filter waitlist entries by their exact email address.
1787
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1788
+ # @return [WorkOS::Types::ListStruct<WorkOS::WaitlistEntry>]
1789
+ def list_waitlist_entries(
1790
+ id:,
1791
+ before: nil,
1792
+ after: nil,
1793
+ limit: 10,
1794
+ order: "desc",
1795
+ state: nil,
1796
+ email: nil,
1797
+ request_options: {}
1798
+ )
1799
+ params = {
1800
+ "before" => before,
1801
+ "after" => after,
1802
+ "limit" => limit,
1803
+ "order" => order,
1804
+ "state" => state,
1805
+ "email" => email
1806
+ }.compact
1807
+ response = @client.request(
1808
+ method: :get,
1809
+ path: "/user_management/waitlists/#{WorkOS::Util.encode_path(id)}/entries",
1810
+ auth: true,
1811
+ params: params,
1812
+ request_options: request_options
1813
+ )
1814
+ fetch_next = ->(cursor) {
1815
+ list_waitlist_entries(
1816
+ id: id,
1817
+ before: before,
1818
+ after: cursor,
1819
+ limit: limit,
1820
+ order: order,
1821
+ state: state,
1822
+ email: email,
1823
+ request_options: request_options
1824
+ )
1825
+ }
1826
+ WorkOS::Types::ListStruct.from_response(
1827
+ response,
1828
+ model: WorkOS::WaitlistEntry,
1829
+ filters: {id: id, before: before, limit: limit, order: order, state: state, email: email},
1830
+ fetch_next: fetch_next
1831
+ )
1832
+ end
1833
+
1834
+ # Create a waitlist entry
1835
+ # @param id [String] The unique ID of the waitlist, or the literal `default` for the environment's default waitlist. Use `default` when adding the first entry — the default waitlist is created automatically.
1836
+ # @param email [String] The email address of the user joining the waitlist.
1837
+ # @param additional_fields [Hash{String => String}, nil] Object containing additional key/value pairs collected with the waitlist entry. Supports up to 50 string pairs, with keys up to 40 characters and values up to 600 characters. Values are user-provided — treat them as untrusted input when rendering or exporting.
1838
+ # @param send_confirmation_email [Boolean, nil] Whether to send the waitlist confirmation email to the user. Defaults to `false`. No email is sent when the waitlist confirmation email is disabled in the environment, even if `send_confirmation_email` is `true`.
1839
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
1840
+ # @return [WorkOS::WaitlistEntry]
1841
+ def create_waitlist_entry(
1842
+ id:,
1843
+ email:,
1844
+ additional_fields: nil,
1845
+ send_confirmation_email: nil,
1846
+ request_options: {}
1847
+ )
1848
+ body = {
1849
+ "email" => email,
1850
+ "additional_fields" => additional_fields,
1851
+ "send_confirmation_email" => send_confirmation_email
1852
+ }.compact
1853
+ response = @client.request(
1854
+ method: :post,
1855
+ path: "/user_management/waitlists/#{WorkOS::Util.encode_path(id)}/entries",
1856
+ auth: true,
1857
+ body: body,
1858
+ request_options: request_options
1859
+ )
1860
+ result = WorkOS::WaitlistEntry.new(response.body)
1861
+ 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"])
1862
+ result
1863
+ end
1864
+
1689
1865
  # List API keys for a user
1690
1866
  # @param user_id [String] Unique identifier of the user.
1691
1867
  # @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.
@@ -2,5 +2,5 @@
2
2
 
3
3
  # @oagen-ignore-file
4
4
  module WorkOS
5
- VERSION = "10.2.1"
5
+ VERSION = "10.3.0"
6
6
  end
data/lib/workos.rb CHANGED
@@ -37,6 +37,7 @@ loader.collapse("#{__dir__}/workos/organization_membership")
37
37
  loader.collapse("#{__dir__}/workos/organizations")
38
38
  loader.collapse("#{__dir__}/workos/pipes")
39
39
  loader.collapse("#{__dir__}/workos/pipes_provider")
40
+ loader.collapse("#{__dir__}/workos/platform_teams")
40
41
  loader.collapse("#{__dir__}/workos/radar")
41
42
  loader.collapse("#{__dir__}/workos/shared")
42
43
  loader.collapse("#{__dir__}/workos/sso")
@@ -0,0 +1,72 @@
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 AgentBlueprint
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(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def name; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def name=(value); end
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ def description; end
32
+
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def description=(value); end
35
+
36
+ sig { returns(T::Array[String]) }
37
+ def permissions; end
38
+
39
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
40
+ def permissions=(value); end
41
+
42
+ sig { returns(WorkOS::AgentBlueprintInvocableBy) }
43
+ def invocable_by; end
44
+
45
+ sig { params(value: WorkOS::AgentBlueprintInvocableBy).returns(WorkOS::AgentBlueprintInvocableBy) }
46
+ def invocable_by=(value); end
47
+
48
+ sig { returns(WorkOS::AgentBlueprintSessionSetting) }
49
+ def session_settings; end
50
+
51
+ sig { params(value: WorkOS::AgentBlueprintSessionSetting).returns(WorkOS::AgentBlueprintSessionSetting) }
52
+ def session_settings=(value); end
53
+
54
+ sig { returns(String) }
55
+ def created_at; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def created_at=(value); end
59
+
60
+ sig { returns(String) }
61
+ def updated_at; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def updated_at=(value); end
65
+
66
+ sig { returns(T::Hash[Symbol, T.untyped]) }
67
+ def to_h; end
68
+
69
+ sig { params(args: T.untyped).returns(String) }
70
+ def to_json(*args); end
71
+ end
72
+ end
@@ -0,0 +1,54 @@
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 AgentBlueprintCreated
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(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::AgentBlueprintCreatedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::AgentBlueprintCreatedData).returns(WorkOS::AgentBlueprintCreatedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -0,0 +1,72 @@
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 AgentBlueprintCreatedData
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(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def name; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def name=(value); end
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ def description; end
32
+
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def description=(value); end
35
+
36
+ sig { returns(T::Array[String]) }
37
+ def permissions; end
38
+
39
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
40
+ def permissions=(value); end
41
+
42
+ sig { returns(WorkOS::AgentBlueprintCreatedDataInvocableBy) }
43
+ def invocable_by; end
44
+
45
+ sig { params(value: WorkOS::AgentBlueprintCreatedDataInvocableBy).returns(WorkOS::AgentBlueprintCreatedDataInvocableBy) }
46
+ def invocable_by=(value); end
47
+
48
+ sig { returns(WorkOS::AgentBlueprintCreatedDataSessionSetting) }
49
+ def session_settings; end
50
+
51
+ sig { params(value: WorkOS::AgentBlueprintCreatedDataSessionSetting).returns(WorkOS::AgentBlueprintCreatedDataSessionSetting) }
52
+ def session_settings=(value); end
53
+
54
+ sig { returns(String) }
55
+ def created_at; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def created_at=(value); end
59
+
60
+ sig { returns(String) }
61
+ def updated_at; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def updated_at=(value); end
65
+
66
+ sig { returns(T::Hash[Symbol, T.untyped]) }
67
+ def to_h; end
68
+
69
+ sig { params(args: T.untyped).returns(String) }
70
+ def to_json(*args); end
71
+ end
72
+ 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 AgentBlueprintCreatedDataInvocableBy
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T::Array[String]) }
13
+ def role_slugs; end
14
+
15
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
16
+ def role_slugs=(value); end
17
+
18
+ sig { returns(T::Array[String]) }
19
+ def organization_ids; end
20
+
21
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
22
+ def organization_ids=(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 AgentBlueprintCreatedDataSessionSetting
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(Float) }
13
+ def max_age_seconds; end
14
+
15
+ sig { params(value: Float).returns(Float) }
16
+ def max_age_seconds=(value); end
17
+
18
+ sig { returns(Float) }
19
+ def access_token_ttl_seconds; end
20
+
21
+ sig { params(value: Float).returns(Float) }
22
+ def access_token_ttl_seconds=(value); end
23
+
24
+ sig { returns(Float) }
25
+ def refresh_token_ttl_seconds; end
26
+
27
+ sig { params(value: Float).returns(Float) }
28
+ def refresh_token_ttl_seconds=(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,54 @@
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 AgentBlueprintDeleted
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(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::AgentBlueprintDeletedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::AgentBlueprintDeletedData).returns(WorkOS::AgentBlueprintDeletedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -0,0 +1,48 @@
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 AgentBlueprintDeletedData
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(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def name; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def name=(value); end
29
+
30
+ sig { returns(String) }
31
+ def created_at; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def created_at=(value); end
35
+
36
+ sig { returns(String) }
37
+ def updated_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def updated_at=(value); end
41
+
42
+ sig { returns(T::Hash[Symbol, T.untyped]) }
43
+ def to_h; end
44
+
45
+ sig { params(args: T.untyped).returns(String) }
46
+ def to_json(*args); end
47
+ end
48
+ 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 AgentBlueprintInvocableBy
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T::Array[String]) }
13
+ def role_slugs; end
14
+
15
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
16
+ def role_slugs=(value); end
17
+
18
+ sig { returns(T::Array[String]) }
19
+ def organization_ids; end
20
+
21
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
22
+ def organization_ids=(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