workos 10.4.0 → 10.5.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 (159) 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 +1 -1
  6. data/.github/workflows/release.yml +1 -1
  7. data/.last-synced-sha +1 -1
  8. data/.oagen-manifest.json +92 -2
  9. data/.release-please-manifest.json +1 -1
  10. data/.ruby-version +1 -1
  11. data/CHANGELOG.md +214 -0
  12. data/Gemfile.lock +2 -2
  13. data/lib/workos/admin_portal/generate_link.rb +3 -0
  14. data/lib/workos/admin_portal/revoke_link.rb +22 -0
  15. data/lib/workos/admin_portal.rb +27 -0
  16. data/lib/workos/agents/agent_blueprint.rb +3 -0
  17. data/lib/workos/agents/agent_blueprint_invocable_as.rb +18 -0
  18. data/lib/workos/agents/agent_blueprints_create_request.rb +3 -0
  19. data/lib/workos/agents/agent_blueprints_create_request_invocable_as.rb +18 -0
  20. data/lib/workos/agents/agent_blueprints_update_request.rb +3 -0
  21. data/lib/workos/agents/agent_blueprints_update_request_invocable_as.rb +18 -0
  22. data/lib/workos/agents/agent_registration.rb +3 -0
  23. data/lib/workos/agents.rb +25 -0
  24. data/lib/workos/authorization/user_role_assignment_source.rb +5 -2
  25. data/lib/workos/authorization/user_role_assignment_source_group.rb +7 -0
  26. data/lib/workos/directory_sync/directory_sync_rate_limit_error.rb +25 -0
  27. data/lib/workos/directory_sync/directory_sync_response.rb +18 -0
  28. data/lib/workos/directory_sync.rb +19 -0
  29. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +3 -0
  30. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data_owner.rb +7 -0
  31. data/lib/workos/pipes/add_data_integrations_get_data_integration_authorize_url_request.rb +37 -0
  32. data/lib/workos/pipes/connected_account.rb +6 -0
  33. data/lib/workos/pipes/connected_account_input.rb +6 -0
  34. data/lib/workos/pipes/connected_account_write_response.rb +73 -0
  35. data/lib/workos/pipes/connected_account_write_response_warning.rb +22 -0
  36. data/lib/workos/pipes/create_connected_account.rb +40 -0
  37. data/lib/workos/pipes/create_organization_connected_account.rb +43 -0
  38. data/lib/workos/pipes/data_integration_credentials_response.rb +1 -1
  39. data/lib/workos/pipes/{data_integration_credentials_response_credential.rb → data_integration_vended_credential.rb} +9 -3
  40. data/lib/workos/pipes/data_integrations_create_api_key_connection_request.rb +37 -0
  41. data/lib/workos/pipes/data_integrations_create_client_credentials_connection_request.rb +43 -0
  42. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +3 -0
  43. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
  44. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +6 -3
  45. data/lib/workos/pipes/data_integrations_upsert_api_key_request_2.rb +37 -0
  46. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +6 -3
  47. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request_2.rb +43 -0
  48. data/lib/workos/pipes/organization_connected_account.rb +40 -0
  49. data/lib/workos/pipes/reauthorize_data_integrations_get_data_integration_authorize_url_request.rb +40 -0
  50. data/lib/workos/pipes/reauthorize_data_integrations_upsert_api_key_request.rb +40 -0
  51. data/lib/workos/pipes/reauthorize_data_integrations_upsert_client_credentials_request.rb +46 -0
  52. data/lib/workos/pipes.rb +192 -31
  53. data/lib/workos/shared/agent_blueprint_created_data.rb +3 -0
  54. data/lib/workos/shared/agent_blueprint_created_data_invocable_as.rb +18 -0
  55. data/lib/workos/shared/agent_blueprint_updated_data.rb +40 -1
  56. data/lib/workos/shared/agent_blueprint_updated_data_invocable_as.rb +18 -0
  57. data/lib/workos/shared/pipe_connected_account.rb +6 -0
  58. data/lib/workos/sso/token_query.rb +3 -0
  59. data/lib/workos/sso.rb +3 -0
  60. data/lib/workos/types/add_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +13 -0
  61. data/lib/workos/types/agent_blueprint_created_data_invocable_as_instance_types.rb +13 -0
  62. data/lib/workos/types/agent_blueprint_invocable_as_instance_types.rb +9 -0
  63. data/lib/workos/types/agent_blueprint_updated_data_invocable_as_instance_types.rb +9 -0
  64. data/lib/workos/types/agent_blueprints_create_request_invocable_as_instance_types.rb +9 -0
  65. data/lib/workos/types/agent_blueprints_update_request_invocable_as_instance_types.rb +9 -0
  66. data/lib/workos/types/agent_instance_created_data_type.rb +1 -5
  67. data/lib/workos/types/agent_instance_deleted_data_type.rb +1 -1
  68. data/lib/workos/types/agent_instance_type.rb +1 -1
  69. data/lib/workos/types/connected_account_write_response_auth_method.rb +9 -0
  70. data/lib/workos/types/connected_account_write_response_connection_role.rb +9 -0
  71. data/lib/workos/types/connected_account_write_response_state.rb +9 -0
  72. data/lib/workos/types/create_connected_account_state.rb +9 -0
  73. data/lib/workos/types/create_data_integration_ownership.rb +1 -5
  74. data/lib/workos/types/create_organization_connected_account_state.rb +9 -0
  75. data/lib/workos/types/data_integration_ownership.rb +1 -1
  76. data/lib/workos/types/data_integrations_create_api_key_connection_request_connection_owner.rb +9 -0
  77. data/lib/workos/types/data_integrations_create_client_credentials_connection_request_connection_owner.rb +9 -0
  78. data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +1 -1
  79. data/lib/workos/types/data_integrations_get_user_token_request_connection_owner.rb +1 -1
  80. data/lib/workos/types/data_integrations_list_response_data_connection_owner.rb +1 -1
  81. data/lib/workos/types/data_integrations_upsert_api_key_request_2_connection_owner.rb +9 -0
  82. data/lib/workos/types/data_integrations_upsert_api_key_request_connection_owner.rb +1 -1
  83. data/lib/workos/types/data_integrations_upsert_client_credentials_request_2_connection_owner.rb +9 -0
  84. data/lib/workos/types/data_integrations_upsert_client_credentials_request_connection_owner.rb +1 -1
  85. data/lib/workos/types/data_integrations_vend_credentials_request_connection_owner.rb +1 -1
  86. data/lib/workos/types/organization_connected_account_state.rb +9 -0
  87. data/lib/workos/types/pipes_ownership.rb +1 -1
  88. data/lib/workos/types/reauthorize_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +9 -0
  89. data/lib/workos/types/reauthorize_data_integrations_upsert_api_key_request_connection_owner.rb +9 -0
  90. data/lib/workos/types/reauthorize_data_integrations_upsert_client_credentials_request_connection_owner.rb +9 -0
  91. data/lib/workos/types/resource_export_completed_data_resource_type.rb +2 -1
  92. data/lib/workos/types/vault_dek_rekeyed_data_actor_source.rb +9 -0
  93. data/lib/workos/user_management.rb +1 -1
  94. data/lib/workos/vault/vault_dek_rekeyed.rb +34 -0
  95. data/lib/workos/vault/vault_dek_rekeyed_data.rb +31 -0
  96. data/lib/workos/version.rb +1 -1
  97. data/rbi/workos/add_data_integrations_get_data_integration_authorize_url_request.rbi +60 -0
  98. data/rbi/workos/admin_portal.rbi +11 -1
  99. data/rbi/workos/agent_blueprint.rbi +6 -0
  100. data/rbi/workos/agent_blueprint_created_data.rbi +6 -0
  101. data/rbi/workos/agent_blueprint_created_data_invocable_as.rbi +24 -0
  102. data/rbi/workos/agent_blueprint_invocable_as.rbi +24 -0
  103. data/rbi/workos/agent_blueprint_updated_data.rbi +6 -0
  104. data/rbi/workos/agent_blueprint_updated_data_invocable_as.rbi +24 -0
  105. data/rbi/workos/agent_blueprints_create_request.rbi +6 -0
  106. data/rbi/workos/agent_blueprints_create_request_invocable_as.rbi +24 -0
  107. data/rbi/workos/agent_blueprints_update_request.rbi +6 -0
  108. data/rbi/workos/agent_blueprints_update_request_invocable_as.rbi +24 -0
  109. data/rbi/workos/agent_registration.rbi +6 -0
  110. data/rbi/workos/agents.rbi +12 -2
  111. data/rbi/workos/connected_account.rbi +12 -0
  112. data/rbi/workos/connected_account_input.rbi +12 -0
  113. data/rbi/workos/connected_account_write_response.rbi +132 -0
  114. data/rbi/workos/connected_account_write_response_warning.rbi +30 -0
  115. data/rbi/workos/create_connected_account.rbi +66 -0
  116. data/rbi/workos/create_organization_connected_account.rbi +72 -0
  117. data/rbi/workos/data_integration_credentials_response.rbi +2 -2
  118. data/rbi/workos/data_integration_vended_credential.rbi +66 -0
  119. data/rbi/workos/data_integrations_create_api_key_connection_request.rbi +60 -0
  120. data/rbi/workos/data_integrations_create_client_credentials_connection_request.rbi +72 -0
  121. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +6 -0
  122. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
  123. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +12 -6
  124. data/rbi/workos/data_integrations_upsert_api_key_request_2.rbi +60 -0
  125. data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +12 -6
  126. data/rbi/workos/data_integrations_upsert_client_credentials_request_2.rbi +72 -0
  127. data/rbi/workos/directory_sync.rbi +8 -0
  128. data/rbi/workos/directory_sync_rate_limit_error.rbi +36 -0
  129. data/rbi/workos/directory_sync_response.rbi +24 -0
  130. data/rbi/workos/flag_updated_context_previous_attribute_data.rbi +6 -0
  131. data/rbi/workos/flag_updated_context_previous_attribute_data_owner.rbi +36 -0
  132. data/rbi/workos/generate_link.rbi +6 -0
  133. data/rbi/workos/organization_connected_account.rbi +66 -0
  134. data/rbi/workos/pipe_connected_account.rbi +12 -0
  135. data/rbi/workos/pipes.rbi +64 -15
  136. data/rbi/workos/reauthorize_data_integrations_get_data_integration_authorize_url_request.rbi +66 -0
  137. data/rbi/workos/reauthorize_data_integrations_upsert_api_key_request.rbi +66 -0
  138. data/rbi/workos/reauthorize_data_integrations_upsert_client_credentials_request.rbi +78 -0
  139. data/rbi/workos/revoke_link.rbi +30 -0
  140. data/rbi/workos/sso.rbi +2 -1
  141. data/rbi/workos/token_query.rbi +6 -0
  142. data/rbi/workos/user_role_assignment_source.rbi +6 -0
  143. data/rbi/workos/user_role_assignment_source_group.rbi +30 -0
  144. data/rbi/workos/vault_dek_rekeyed.rbi +54 -0
  145. data/rbi/workos/{data_integration_credentials_response_credential.rbi → vault_dek_rekeyed_data.rbi} +13 -19
  146. data/test/workos/test_admin_portal.rb +9 -1
  147. data/test/workos/test_admin_portal_model_round_trip.rb +14 -0
  148. data/test/workos/test_agents.rb +8 -0
  149. data/test/workos/test_agents_model_round_trip.rb +35 -0
  150. data/test/workos/test_authorization_model_round_trip.rb +15 -1
  151. data/test/workos/test_directory_sync.rb +8 -0
  152. data/test/workos/test_directory_sync_model_round_trip.rb +24 -0
  153. data/test/workos/test_feature_flags_model_round_trip.rb +16 -0
  154. data/test/workos/test_pipes.rb +20 -4
  155. data/test/workos/test_pipes_model_round_trip.rb +284 -15
  156. data/test/workos/test_shared_model_round_trip.rb +30 -6
  157. data/test/workos/test_sso_model_round_trip.rb +1 -0
  158. data/test/workos/test_vault_model_round_trip.rb +33 -0
  159. metadata +73 -3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,219 @@
1
1
  # Changelog
2
2
 
3
+ ## [10.5.0](https://github.com/workos/workos-ruby/compare/v10.4.0...v10.5.0) (2026-10-19)
4
+
5
+ * [#558](https://github.com/workos/workos-ruby/pull/558) feat(generated): regenerate from spec
6
+
7
+ **Features**
8
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
9
+ * Added model `UserRoleAssignmentSourceGroup`
10
+ * Added `group` to `UserRoleAssignmentSource`
11
+
12
+ * [#562](https://github.com/workos/workos-ruby/pull/562) feat(generated)!: regenerate from spec (9 changes)
13
+
14
+ **⚠️ Breaking**
15
+ * **[pipes](https://workos.com/docs/reference/pipes)**:
16
+ * Removed model `AddDataIntegrationsUpsertApiKeyRequest`
17
+ * Removed model `AddDataIntegrationsUpsertClientCredentialsRequest`
18
+ * Removed enum `AddDataIntegrationsUpsertApiKeyRequestConnectionOwner`
19
+ * Removed enum `AddDataIntegrationsUpsertClientCredentialsRequestConnectionOwner`
20
+
21
+ **Features**
22
+ * **[admin_portal](https://workos.com/docs/reference/admin-portal)**:
23
+ * Added model `RevokeLink`
24
+ * Added `external_user_id` to `GenerateLink`
25
+ * Added endpoint `POST /portal/revoke_link`
26
+ * Changed errors for endpoint `POST /portal/generate_link`
27
+ * **[agents](https://workos.com/docs/reference/agents)**:
28
+ * Added model `AgentBlueprintInvocableAs`
29
+ * Added model `AgentBlueprintsCreateRequestInvocableAs`
30
+ * Added model `AgentBlueprintsUpdateRequestInvocableAs`
31
+ * Added `invocable_as` to `AgentBlueprint`
32
+ * Added `invocable_as` to `AgentBlueprintsCreateRequest`
33
+ * Added `invocable_as` to `AgentBlueprintsUpdateRequest`
34
+ * Added enum `AgentBlueprintInvocableAsInstanceTypes`
35
+ * Added enum `AgentBlueprintsCreateRequestInvocableAsInstanceTypes`
36
+ * Added enum `AgentBlueprintsUpdateRequestInvocableAsInstanceTypes`
37
+ * **[audit_logs](https://workos.com/docs/reference/audit-logs)**:
38
+ * Changed errors for endpoint `GET /audit_logs/actions`
39
+ * Changed errors for endpoint `GET /audit_logs/actions/{actionName}/schemas`
40
+ * Changed errors for endpoint `POST /audit_logs/actions/{actionName}/schemas`
41
+ * Changed errors for endpoint `POST /audit_logs/events`
42
+ * Changed errors for endpoint `POST /audit_logs/exports`
43
+ * Changed errors for endpoint `GET /audit_logs/exports/{auditLogExportId}`
44
+ * **[authorization](https://workos.com/docs/reference/fga)**:
45
+ * Changed errors for endpoint `GET /authorization/organization_memberships/{organization_membership_id}/role_assignments`
46
+ * Changed errors for endpoint `POST /authorization/groups/{group_id}/role_assignments`
47
+ * Changed errors for endpoint `PUT /authorization/groups/{group_id}/role_assignments`
48
+ * Changed errors for endpoint `GET /authorization/groups/{group_id}/role_assignments/{role_assignment_id}`
49
+ * Changed errors for endpoint `POST /authorization/organization_memberships/{organization_membership_id}/check`
50
+ * Changed errors for endpoint `GET /authorization/organization_memberships/{organization_membership_id}/resources`
51
+ * Changed errors for endpoint `GET /authorization/organization_memberships/{organization_membership_id}/resources/{resource_id}/permissions`
52
+ * Changed errors for endpoint `GET /authorization/organization_memberships/{organization_membership_id}/resources/{resource_type_slug}/{external_id}/permissions`
53
+ * Changed errors for endpoint `POST /authorization/organization_memberships/{organization_membership_id}/role_assignments`
54
+ * Changed errors for endpoint `GET /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}`
55
+ * Changed errors for endpoint `PATCH /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}`
56
+ * Changed errors for endpoint `GET /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}/organization_memberships`
57
+ * Changed errors for endpoint `GET /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}/role_assignments`
58
+ * Changed errors for endpoint `GET /authorization/resources`
59
+ * Changed errors for endpoint `POST /authorization/resources`
60
+ * Changed errors for endpoint `GET /authorization/resources/{resource_id}`
61
+ * Changed errors for endpoint `PATCH /authorization/resources/{resource_id}`
62
+ * Changed errors for endpoint `GET /authorization/resources/{resource_id}/organization_memberships`
63
+ * Changed errors for endpoint `GET /authorization/resources/{resource_id}/role_assignments`
64
+ * **[directory_sync](https://workos.com/docs/reference/directory-sync)**:
65
+ * Added model `DirectorySyncResponse`
66
+ * Added model `DirectorySyncRateLimitError`
67
+ * Added endpoint `POST /directories/{id}/sync`
68
+ * **[feature_flags](https://workos.com/docs/reference/feature-flags)**:
69
+ * Changed errors for endpoint `PUT /feature-flags/{slug}/disable`
70
+ * Changed errors for endpoint `PUT /feature-flags/{slug}/enable`
71
+ * **[organization_membership](https://workos.com/docs/reference/authkit/organization-membership)**:
72
+ * Changed errors for endpoint `DELETE /user_management/organization_memberships/{id}`
73
+ * **[organizations](https://workos.com/docs/reference/organization)**:
74
+ * Changed errors for endpoint `GET /organizations/{id}/audit_logs_retention`
75
+ * Changed errors for endpoint `PUT /organizations/{id}/audit_logs_retention`
76
+ * Changed errors for endpoint `POST /organizations/{organization_id}/it_contacts/{contact_id}/invite`
77
+ * **[pipes](https://workos.com/docs/reference/pipes)**:
78
+ * Added `established_by_user_id` to `ConnectedAccountWriteResponse`
79
+ * Added `state_reason` to `ConnectedAccountWriteResponse`
80
+ * Added `established_by_user_id` to `ConnectedAccount`
81
+ * Added `state_reason` to `ConnectedAccount`
82
+ * Added `established_by_user_id` to `DataIntegrationsListResponseDataConnectedAccount`
83
+ * Added `state_reason` to `DataIntegrationsListResponseDataConnectedAccount`
84
+ * Changed idempotency-key contract for endpoint `POST /data-integrations/{slug}/api-key`
85
+ * Changed idempotency-key contract for endpoint `POST /data-integrations/{slug}/client-credentials`
86
+ * Changed idempotency-key contract for endpoint `POST /organizations/{organization_id}/connected_accounts/{slug}`
87
+ * Changed idempotency-key contract for endpoint `POST /user_management/users/{user_id}/connected_accounts/{slug}`
88
+ * Added model `ConnectedAccountWriteResponse`
89
+ * Added model `ConnectedAccountWriteResponseWarning`
90
+ * Added `account_display_name` to `CreateOrganizationConnectedAccount`
91
+ * Added `account_identifier` to `CreateOrganizationConnectedAccount`
92
+ * Added `account_display_name` to `OrganizationConnectedAccount`
93
+ * Added `account_identifier` to `OrganizationConnectedAccount`
94
+ * Added `account_display_name` to `CreateConnectedAccount`
95
+ * Added `account_identifier` to `CreateConnectedAccount`
96
+ * Added `account_display_name` to `ConnectedAccountInput`
97
+ * Added `account_identifier` to `ConnectedAccountInput`
98
+ * Added `account_display_name` to `DataIntegrationsCreateApiKeyConnectionRequest`
99
+ * Added `account_identifier` to `DataIntegrationsCreateApiKeyConnectionRequest`
100
+ * Added `account_display_name` to `DataIntegrationsUpsertApiKeyRequest`
101
+ * Added `account_identifier` to `DataIntegrationsUpsertApiKeyRequest`
102
+ * Added `account_display_name` to `ReauthorizeDataIntegrationsUpsertApiKeyRequest`
103
+ * Added `account_identifier` to `ReauthorizeDataIntegrationsUpsertApiKeyRequest`
104
+ * Added `account_display_name` to `DataIntegrationsUpsertApiKeyRequest2`
105
+ * Added `account_identifier` to `DataIntegrationsUpsertApiKeyRequest2`
106
+ * Added `account_display_name` to `DataIntegrationsGetDataIntegrationAuthorizeUrlRequest`
107
+ * Added `account_display_name` to `AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest`
108
+ * Added `account_display_name` to `ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest`
109
+ * Added `account_display_name` to `DataIntegrationsCreateClientCredentialsConnectionRequest`
110
+ * Added `account_identifier` to `DataIntegrationsCreateClientCredentialsConnectionRequest`
111
+ * Added `account_display_name` to `DataIntegrationsUpsertClientCredentialsRequest`
112
+ * Added `account_identifier` to `DataIntegrationsUpsertClientCredentialsRequest`
113
+ * Added `account_display_name` to `ReauthorizeDataIntegrationsUpsertClientCredentialsRequest`
114
+ * Added `account_identifier` to `ReauthorizeDataIntegrationsUpsertClientCredentialsRequest`
115
+ * Added `account_display_name` to `DataIntegrationsUpsertClientCredentialsRequest2`
116
+ * Added `account_identifier` to `DataIntegrationsUpsertClientCredentialsRequest2`
117
+ * Added enum `ConnectedAccountWriteResponseConnectionRole`
118
+ * Added enum `ConnectedAccountWriteResponseAuthMethod`
119
+ * Added enum `ConnectedAccountWriteResponseState`
120
+ * Changed errors for endpoint `POST /data-integrations/{slug}/api-key`
121
+ * Changed errors for endpoint `POST /data-integrations/{slug}/authorize`
122
+ * Changed errors for endpoint `POST /data-integrations/{slug}/client-credentials`
123
+ * Added model `AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest`
124
+ * Added model `ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest`
125
+ * Added enum `AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequestConnectionOwner`
126
+ * Added enum `ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequestConnectionOwner`
127
+ * Added model `DataIntegrationsCreateApiKeyConnectionRequest`
128
+ * Added model `DataIntegrationsCreateClientCredentialsConnectionRequest`
129
+ * Added enum `DataIntegrationsCreateApiKeyConnectionRequestConnectionOwner`
130
+ * Added enum `DataIntegrationsCreateClientCredentialsConnectionRequestConnectionOwner`
131
+ * Added endpoint `POST /data-integrations/{slug}/api-key`
132
+ * Added endpoint `POST /data-integrations/{slug}/client-credentials`
133
+ * Added `config` to `DataIntegrationVendedCredential`
134
+ * Added model `DataIntegrationVendedCredential`
135
+ * Added model `CreateOrganizationConnectedAccount`
136
+ * Added model `CreateConnectedAccount`
137
+ * Added model `AddDataIntegrationsUpsertApiKeyRequest`
138
+ * Added model `ReauthorizeDataIntegrationsUpsertApiKeyRequest`
139
+ * Added model `DataIntegrationsUpsertApiKeyRequest2`
140
+ * Added model `AddDataIntegrationsUpsertClientCredentialsRequest`
141
+ * Added model `ReauthorizeDataIntegrationsUpsertClientCredentialsRequest`
142
+ * Added model `DataIntegrationsUpsertClientCredentialsRequest2`
143
+ * Added enum `CreateOrganizationConnectedAccountState`
144
+ * Added enum `CreateConnectedAccountState`
145
+ * Added enum `AddDataIntegrationsUpsertApiKeyRequestConnectionOwner`
146
+ * Added enum `ReauthorizeDataIntegrationsUpsertApiKeyRequestConnectionOwner`
147
+ * Added enum `DataIntegrationsUpsertApiKeyRequest2ConnectionOwner`
148
+ * Added enum `AddDataIntegrationsUpsertClientCredentialsRequestConnectionOwner`
149
+ * Added enum `ReauthorizeDataIntegrationsUpsertClientCredentialsRequestConnectionOwner`
150
+ * Added enum `DataIntegrationsUpsertClientCredentialsRequest2ConnectionOwner`
151
+ * Added parameter `OrganizationsDataProviders.updateOrganizationDataInstallation.connection_intent`
152
+ * Added parameter `UserManagementDataProviders.updateUserDataInstallation.connection_intent`
153
+ * Added model `OrganizationConnectedAccount`
154
+ * Added enum `OrganizationConnectedAccountState`
155
+ * **[radar](https://workos.com/docs/reference/radar)**:
156
+ * Changed errors for endpoint `POST /radar/attempts`
157
+ * Changed errors for endpoint `PUT /radar/attempts/{id}`
158
+ * Changed errors for endpoint `POST /radar/lists/{type}/{action}`
159
+ * **[sso](https://workos.com/docs/reference/sso)**:
160
+ * Added `code_verifier` to `TokenQuery`
161
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
162
+ * Changed errors for endpoint `POST /user_management/invitations`
163
+ * Changed errors for endpoint `POST /user_management/invitations/{id}/resend`
164
+ * Changed errors for endpoint `POST /user_management/waitlist_entries/{id}/approve`
165
+ * Changed errors for endpoint `PUT /user_management/users/{id}`
166
+
167
+ **Fixes**
168
+ * **[agents](https://workos.com/docs/reference/agents)**:
169
+ * Changed errors for endpoint `POST /agents/blueprints/{agent_blueprint_id}/tokens`
170
+ * **[pipes](https://workos.com/docs/reference/pipes)**:
171
+ * Changed response of `Pipes.createApiKeyConnection` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
172
+ * Changed response of `Pipes.upsertApiKey` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
173
+ * Changed response of `Pipes.createClientCredentialsConnection` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
174
+ * Changed response of `Pipes.upsertClientCredentials` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
175
+ * Changed response of `OrganizationsDataProviders.createOrganizationDataInstallation` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
176
+ * Changed response of `OrganizationsDataProviders.updateOrganizationDataInstallation` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
177
+ * Changed response of `UserManagementDataProviders.createUserDataInstallation` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
178
+ * Changed response of `UserManagementDataProviders.updateUserDataInstallation` from `ConnectedAccount` to `ConnectedAccountWriteResponse`
179
+ * Changed errors for endpoint `POST /organizations/{organization_id}/connected_accounts/{slug}`
180
+ * Changed errors for endpoint `POST /user_management/users/{user_id}/connected_accounts/{slug}`
181
+ * Changed errors for endpoint `PUT /data-integrations/{slug}/api-key`
182
+ * Changed request body for `Pipes.getDataIntegrationAuthorizeUrl`
183
+ * Changed errors for endpoint `POST /data-integrations/{slug}/authorize`
184
+ * Changed errors for endpoint `PUT /data-integrations/{slug}/client-credentials`
185
+ * Changed request body for `Pipes.upsertApiKey`
186
+ * Changed request body for `Pipes.upsertClientCredentials`
187
+ * Changed the type of `DataIntegrationCredentialsResponse.credential`
188
+ * Removed `connected_account_id` from `DataIntegrationsUpsertApiKeyRequest`
189
+ * Removed `connected_account_id` from `DataIntegrationsUpsertClientCredentialsRequest`
190
+ * Changed request body of `OrganizationsDataProviders.createOrganizationDataInstallation` from `OrganizationConnectedAccount` to `CreateOrganizationConnectedAccount`
191
+ * Changed request body of `UserManagementDataProviders.createUserDataInstallation` from `ConnectedAccountInput` to `CreateConnectedAccount`
192
+ * Changed request body of `OrganizationsDataProviders.createOrganizationDataInstallation` from `ConnectedAccountInput` to `OrganizationConnectedAccount`
193
+ * Changed request body of `OrganizationsDataProviders.updateOrganizationDataInstallation` from `ConnectedAccountInput` to `OrganizationConnectedAccount`
194
+ * Changed errors for endpoint `PUT /organizations/{organization_id}/connected_accounts/{slug}`
195
+ * **[sso](https://workos.com/docs/reference/sso)**:
196
+ * Changed errors for endpoint `POST /connections`
197
+ * Changed errors for endpoint `POST /connections/{connectionId}/saml_sp_signing_cert`
198
+
199
+ * [#565](https://github.com/workos/workos-ruby/pull/565) feat(generated)!: regenerate from spec (3 changes)
200
+
201
+ **Features**
202
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
203
+ * Changed errors for endpoint `POST /user_management/users`
204
+ * Changed errors for endpoint `POST /user_management/magic_auth`
205
+
206
+ **Fixes**
207
+ * **[user_management](https://workos.com/docs/reference/authkit/user)**:
208
+ * Changed errors for endpoint `POST /user_management/authenticate`
209
+
210
+ * [#566](https://github.com/workos/workos-ruby/pull/566) fix(generated): regenerate from spec
211
+
212
+ **Features**
213
+ * **[agents](https://workos.com/docs/reference/agents)**:
214
+ * Added `revoked_at` to `AgentRegistration`
215
+ * Added endpoint `POST /agents/registrations/{id}/revoke`
216
+
3
217
  ## [10.4.0](https://github.com/workos/workos-ruby/compare/v10.3.0...v10.4.0) (2026-09-18)
4
218
 
5
219
  ### Features
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- workos (10.4.0)
4
+ workos (10.5.0)
5
5
  jwt (~> 3.1)
6
6
  logger (~> 1.7)
7
7
  zeitwerk (~> 2.6)
@@ -153,7 +153,7 @@ CHECKSUMS
153
153
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
154
154
  webmock (3.26.2) sha256=774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90
155
155
  webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
156
- workos (10.4.0)
156
+ workos (10.5.0)
157
157
  yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
158
158
  yard-markdown (0.9.1) sha256=51adf55a814172f70ed81fbd1af4dc42c0e1a698915f7da33eff5a3bb527062d
159
159
  zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
@@ -8,6 +8,7 @@ module WorkOS
8
8
  return_url: :return_url,
9
9
  success_url: :success_url,
10
10
  organization: :organization,
11
+ external_user_id: :external_user_id,
11
12
  intent: :intent,
12
13
  it_contact_emails: :it_contact_emails
13
14
  }.freeze
@@ -16,6 +17,7 @@ module WorkOS
16
17
  :return_url,
17
18
  :success_url,
18
19
  :organization,
20
+ :external_user_id,
19
21
  :intent,
20
22
  :it_contact_emails
21
23
 
@@ -24,6 +26,7 @@ module WorkOS
24
26
  @return_url = hash[:return_url]
25
27
  @success_url = hash[:success_url]
26
28
  @organization = hash[:organization]
29
+ @external_user_id = hash[:external_user_id]
27
30
  @intent = hash[:intent]
28
31
  @it_contact_emails = hash[:it_contact_emails] || []
29
32
  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 RevokeLink < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ organization: :organization,
9
+ external_user_id: :external_user_id
10
+ }.freeze
11
+
12
+ attr_accessor \
13
+ :organization,
14
+ :external_user_id
15
+
16
+ def initialize(json)
17
+ hash = self.class.normalize(json)
18
+ @organization = hash[:organization]
19
+ @external_user_id = hash[:external_user_id]
20
+ end
21
+ end
22
+ end
@@ -14,6 +14,7 @@ module WorkOS
14
14
  # @param return_url [String, nil] The URL to go to when an admin clicks on your logo in the Admin Portal. If not specified, the return URL configured on the [Admin Portal](https://dashboard.workos.com/admin-portal) page will be used.
15
15
  # @param success_url [String, nil] The URL to redirect the admin to when they finish setup. If not specified, the success URL configured on the [Admin Portal](https://dashboard.workos.com/admin-portal) page will be used.
16
16
  # @param organization [String] An [Organization](https://workos.com/docs/reference/organization) identifier.
17
+ # @param external_user_id [String, nil] The ID of the user in your application the link is generated for. The link and any Admin Portal sessions started from it can later be revoked by this ID, for example when that user is deprovisioned from your application.
17
18
  # @param intent [WorkOS::Types::GenerateLinkIntent, nil] The intent of the Admin Portal. - `sso` - Launch Admin Portal for creating SSO connections - `dsync` - Launch Admin Portal for creating Directory Sync connections - `audit_logs` - Launch Admin Portal for viewing Audit Logs - `log_streams` - Launch Admin Portal for creating Log Streams - `domain_verification` - Launch Admin Portal for Domain Verification - `certificate_renewal` - Launch Admin Portal for renewing SAML Certificates - `bring_your_own_key` - Launch Admin Portal for configuring Bring Your Own Key
18
19
  # @param it_contact_emails [Array<String>, nil] The email addresses of the IT contacts to grant access to the Admin Portal for the given organization. Accepts up to 20 emails.
19
20
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
@@ -22,6 +23,7 @@ module WorkOS
22
23
  organization:,
23
24
  return_url: nil,
24
25
  success_url: nil,
26
+ external_user_id: nil,
25
27
  intent: nil,
26
28
  it_contact_emails: nil,
27
29
  request_options: {}
@@ -30,6 +32,7 @@ module WorkOS
30
32
  "return_url" => return_url,
31
33
  "success_url" => success_url,
32
34
  "organization" => organization,
35
+ "external_user_id" => external_user_id,
33
36
  "intent" => intent,
34
37
  "it_contact_emails" => it_contact_emails
35
38
  }.compact
@@ -44,5 +47,29 @@ module WorkOS
44
47
  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"])
45
48
  result
46
49
  end
50
+
51
+ # Revoke a Portal Link
52
+ # @param organization [String] An [Organization](https://workos.com/docs/reference/organization) identifier.
53
+ # @param external_user_id [String] The `external_user_id` the Portal Links were generated with for this organization. Every matching link is revoked, along with any Admin Portal sessions started from those links.
54
+ # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
55
+ # @return [void]
56
+ def revoke_link(
57
+ organization:,
58
+ external_user_id:,
59
+ request_options: {}
60
+ )
61
+ body = {
62
+ "organization" => organization,
63
+ "external_user_id" => external_user_id
64
+ }
65
+ @client.request(
66
+ method: :post,
67
+ path: "/portal/revoke_link",
68
+ auth: true,
69
+ body: body,
70
+ request_options: request_options
71
+ )
72
+ nil
73
+ end
47
74
  end
48
75
  end
@@ -11,6 +11,7 @@ module WorkOS
11
11
  description: :description,
12
12
  permissions: :permissions,
13
13
  invocable_by: :invocable_by,
14
+ invocable_as: :invocable_as,
14
15
  session_settings: :session_settings,
15
16
  created_at: :created_at,
16
17
  updated_at: :updated_at
@@ -23,6 +24,7 @@ module WorkOS
23
24
  :description,
24
25
  :permissions,
25
26
  :invocable_by,
27
+ :invocable_as,
26
28
  :session_settings,
27
29
  :created_at,
28
30
  :updated_at
@@ -35,6 +37,7 @@ module WorkOS
35
37
  @description = hash[:description]
36
38
  @permissions = hash[:permissions] || []
37
39
  @invocable_by = hash[:invocable_by] ? WorkOS::AgentBlueprintInvocableBy.new(hash[:invocable_by]) : nil
40
+ @invocable_as = hash[:invocable_as] ? WorkOS::AgentBlueprintInvocableAs.new(hash[:invocable_as]) : nil
38
41
  @session_settings = hash[:session_settings] ? WorkOS::AgentBlueprintSessionSetting.new(hash[:session_settings]) : nil
39
42
  @created_at = hash[:created_at]
40
43
  @updated_at = hash[:updated_at]
@@ -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 AgentBlueprintInvocableAs < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ instance_types: :instance_types
9
+ }.freeze
10
+
11
+ attr_accessor :instance_types
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @instance_types = hash[:instance_types] || []
16
+ end
17
+ end
18
+ end
@@ -9,6 +9,7 @@ module WorkOS
9
9
  description: :description,
10
10
  permissions: :permissions,
11
11
  invocable_by: :invocable_by,
12
+ invocable_as: :invocable_as,
12
13
  session_settings: :session_settings
13
14
  }.freeze
14
15
 
@@ -17,6 +18,7 @@ module WorkOS
17
18
  :description,
18
19
  :permissions,
19
20
  :invocable_by,
21
+ :invocable_as,
20
22
  :session_settings
21
23
 
22
24
  def initialize(json)
@@ -25,6 +27,7 @@ module WorkOS
25
27
  @description = hash[:description]
26
28
  @permissions = hash[:permissions] || []
27
29
  @invocable_by = hash[:invocable_by] ? WorkOS::AgentBlueprintsCreateRequestInvocableBy.new(hash[:invocable_by]) : nil
30
+ @invocable_as = hash[:invocable_as] ? WorkOS::AgentBlueprintsCreateRequestInvocableAs.new(hash[:invocable_as]) : nil
28
31
  @session_settings = hash[:session_settings] ? WorkOS::AgentBlueprintsCreateRequestSessionSetting.new(hash[:session_settings]) : nil
29
32
  end
30
33
  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 AgentBlueprintsCreateRequestInvocableAs < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ instance_types: :instance_types
9
+ }.freeze
10
+
11
+ attr_accessor :instance_types
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @instance_types = hash[:instance_types] || []
16
+ end
17
+ end
18
+ end
@@ -9,6 +9,7 @@ module WorkOS
9
9
  description: :description,
10
10
  permissions: :permissions,
11
11
  invocable_by: :invocable_by,
12
+ invocable_as: :invocable_as,
12
13
  session_settings: :session_settings
13
14
  }.freeze
14
15
 
@@ -17,6 +18,7 @@ module WorkOS
17
18
  :description,
18
19
  :permissions,
19
20
  :invocable_by,
21
+ :invocable_as,
20
22
  :session_settings
21
23
 
22
24
  def initialize(json)
@@ -25,6 +27,7 @@ module WorkOS
25
27
  @description = hash[:description]
26
28
  @permissions = hash[:permissions] || []
27
29
  @invocable_by = hash[:invocable_by] ? WorkOS::AgentBlueprintsUpdateRequestInvocableBy.new(hash[:invocable_by]) : nil
30
+ @invocable_as = hash[:invocable_as] ? WorkOS::AgentBlueprintsUpdateRequestInvocableAs.new(hash[:invocable_as]) : nil
28
31
  @session_settings = hash[:session_settings] ? WorkOS::AgentBlueprintsUpdateRequestSessionSetting.new(hash[:session_settings]) : nil
29
32
  end
30
33
  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 AgentBlueprintsUpdateRequestInvocableAs < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ instance_types: :instance_types
9
+ }.freeze
10
+
11
+ attr_accessor :instance_types
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @instance_types = hash[:instance_types] || []
16
+ end
17
+ end
18
+ end
@@ -9,6 +9,7 @@ module WorkOS
9
9
  agent_identity: :agent_identity,
10
10
  organization_id: :organization_id,
11
11
  status: :status,
12
+ revoked_at: :revoked_at,
12
13
  kind: :kind,
13
14
  claim: :claim,
14
15
  created_at: :created_at,
@@ -20,6 +21,7 @@ module WorkOS
20
21
  :agent_identity,
21
22
  :organization_id,
22
23
  :status,
24
+ :revoked_at,
23
25
  :kind,
24
26
  :claim,
25
27
  :created_at,
@@ -31,6 +33,7 @@ module WorkOS
31
33
  @agent_identity = hash[:agent_identity] ? WorkOS::AgentRegistrationAgentIdentity.new(hash[:agent_identity]) : nil
32
34
  @organization_id = hash[:organization_id]
33
35
  @status = hash[:status]
36
+ @revoked_at = hash[:revoked_at]
34
37
  @kind = hash[:kind]
35
38
  @claim = hash[:claim] ? WorkOS::AgentRegistrationClaim.new(hash[:claim]) : nil
36
39
  @created_at = hash[:created_at]
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"`.
@@ -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
@@ -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