anthropic 2.2.0 → 2.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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +2 -2
  4. data/lib/anthropic/client.rb +1 -1
  5. data/lib/anthropic/helpers/bedrock/client.rb +6 -3
  6. data/lib/anthropic/helpers/google_cloud/client.rb +9 -25
  7. data/lib/anthropic/helpers/refusal_fallback.rb +1 -2
  8. data/lib/anthropic/helpers/stainless_helper_header.rb +3 -2
  9. data/lib/anthropic/internal/tracing.rb +20 -0
  10. data/lib/anthropic/internal/transport/base_client.rb +16 -2
  11. data/lib/anthropic/models/anthropic_beta.rb +3 -0
  12. data/lib/anthropic/models/beta/beta_code_execution_tool_20260120.rb +10 -2
  13. data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_content.rb +5 -1
  14. data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rb +1 -1
  15. data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block.rb +9 -1
  16. data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rb +2 -1
  17. data/lib/anthropic/models/beta/beta_response_tool_union.rb +5 -1
  18. data/lib/anthropic/models/beta/beta_skill_params.rb +1 -1
  19. data/lib/anthropic/models/beta/beta_tool_union.rb +5 -1
  20. data/lib/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rb +7 -2
  21. data/lib/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rb +2 -4
  22. data/lib/anthropic/models/beta/message_count_tokens_params.rb +5 -1
  23. data/lib/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rb +21 -0
  24. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rb +63 -0
  25. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rb +21 -0
  26. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rb +21 -0
  27. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rb +21 -0
  28. data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_source.rb +87 -0
  29. data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rb +72 -0
  30. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings.rb +70 -0
  31. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_create.rb +67 -0
  32. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_update.rb +67 -0
  33. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rb +37 -0
  34. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rb +29 -0
  35. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rb +22 -0
  36. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rb +31 -0
  37. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rb +30 -0
  38. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rb +23 -0
  39. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rb +29 -0
  40. data/lib/anthropic/models/beta/organization/beta_external_key.rb +3 -3
  41. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rb +66 -0
  42. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rb +32 -0
  43. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rb +87 -0
  44. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rb +86 -0
  45. data/lib/anthropic/models/beta/organization/claude_tag/bundle_list_params.rb +49 -0
  46. data/lib/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rb +41 -0
  47. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rb +76 -0
  48. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rb +70 -0
  49. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rb +34 -0
  50. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rb +57 -0
  51. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rb +38 -0
  52. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rb +57 -0
  53. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rb +38 -0
  54. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rb +43 -0
  55. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rb +53 -0
  56. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rb +59 -0
  57. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rb +53 -0
  58. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rb +50 -0
  59. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rb +41 -0
  60. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rb +79 -0
  61. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rb +52 -0
  62. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rb +49 -0
  63. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rb +70 -0
  64. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rb +52 -0
  65. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rb +49 -0
  66. data/lib/anthropic/models/code_execution_tool_20260120.rb +10 -2
  67. data/lib/anthropic/models/code_execution_tool_result_block_content.rb +5 -1
  68. data/lib/anthropic/models/code_execution_tool_result_block_param_content.rb +1 -1
  69. data/lib/anthropic/models/encrypted_code_execution_result_block.rb +9 -1
  70. data/lib/anthropic/models/encrypted_code_execution_result_block_param.rb +2 -1
  71. data/lib/anthropic/models/message_count_tokens_tool.rb +5 -1
  72. data/lib/anthropic/models/organization/external_key.rb +3 -3
  73. data/lib/anthropic/models/skill_params.rb +1 -1
  74. data/lib/anthropic/models/tool_union.rb +5 -1
  75. data/lib/anthropic/resources/beta/agents/versions.rb +2 -1
  76. data/lib/anthropic/resources/beta/agents.rb +10 -5
  77. data/lib/anthropic/resources/beta/deployment_runs.rb +4 -2
  78. data/lib/anthropic/resources/beta/deployments.rb +16 -8
  79. data/lib/anthropic/resources/beta/dreams.rb +10 -5
  80. data/lib/anthropic/resources/beta/environments/work.rb +16 -8
  81. data/lib/anthropic/resources/beta/environments.rb +12 -6
  82. data/lib/anthropic/resources/beta/files.rb +10 -5
  83. data/lib/anthropic/resources/beta/memory_stores/memories.rb +10 -5
  84. data/lib/anthropic/resources/beta/memory_stores/memory_versions.rb +6 -11
  85. data/lib/anthropic/resources/beta/memory_stores.rb +12 -6
  86. data/lib/anthropic/resources/beta/messages/batches.rb +12 -6
  87. data/lib/anthropic/resources/beta/messages.rb +6 -3
  88. data/lib/anthropic/resources/beta/models.rb +4 -2
  89. data/lib/anthropic/resources/beta/organization/analytics/apps/chat/projects.rb +2 -1
  90. data/lib/anthropic/resources/beta/organization/analytics/artifacts.rb +2 -1
  91. data/lib/anthropic/resources/beta/organization/analytics/connectors.rb +2 -1
  92. data/lib/anthropic/resources/beta/organization/analytics/cost.rb +2 -1
  93. data/lib/anthropic/resources/beta/organization/analytics/cost_report.rb +2 -1
  94. data/lib/anthropic/resources/beta/organization/analytics/plugins.rb +2 -1
  95. data/lib/anthropic/resources/beta/organization/analytics/skills.rb +2 -1
  96. data/lib/anthropic/resources/beta/organization/analytics/summaries.rb +2 -1
  97. data/lib/anthropic/resources/beta/organization/analytics/usage.rb +2 -1
  98. data/lib/anthropic/resources/beta/organization/analytics/usage_report.rb +2 -1
  99. data/lib/anthropic/resources/beta/organization/analytics/user_cost_report.rb +5 -4
  100. data/lib/anthropic/resources/beta/organization/analytics/user_usage_report.rb +5 -4
  101. data/lib/anthropic/resources/beta/organization/analytics/users.rb +2 -1
  102. data/lib/anthropic/resources/beta/organization/api_keys.rb +6 -3
  103. data/lib/anthropic/resources/beta/organization/claude_tag/bundles/targets.rb +204 -0
  104. data/lib/anthropic/resources/beta/organization/claude_tag/bundles.rb +102 -0
  105. data/lib/anthropic/resources/beta/organization/claude_tag/slack_channels.rb +263 -0
  106. data/lib/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rb +162 -0
  107. data/lib/anthropic/resources/beta/organization/claude_tag.rb +31 -0
  108. data/lib/anthropic/resources/beta/organization/compliance_settings.rb +4 -2
  109. data/lib/anthropic/resources/beta/organization/external_keys.rb +12 -6
  110. data/lib/anthropic/resources/beta/organization/federation/issuers.rb +10 -5
  111. data/lib/anthropic/resources/beta/organization/federation/rules/workspaces.rb +6 -3
  112. data/lib/anthropic/resources/beta/organization/federation/rules.rb +10 -5
  113. data/lib/anthropic/resources/beta/organization/invites.rb +8 -4
  114. data/lib/anthropic/resources/beta/organization/plugin_marketplaces.rb +10 -5
  115. data/lib/anthropic/resources/beta/organization/plugins/installation_settings.rb +6 -11
  116. data/lib/anthropic/resources/beta/organization/plugins/shares.rb +2 -1
  117. data/lib/anthropic/resources/beta/organization/plugins/versions.rb +8 -4
  118. data/lib/anthropic/resources/beta/organization/plugins.rb +10 -5
  119. data/lib/anthropic/resources/beta/organization/rate_limits.rb +2 -1
  120. data/lib/anthropic/resources/beta/organization/rbac_groups/members.rb +6 -3
  121. data/lib/anthropic/resources/beta/organization/rbac_groups.rb +10 -5
  122. data/lib/anthropic/resources/beta/organization/rbac_roles/permissions.rb +2 -1
  123. data/lib/anthropic/resources/beta/organization/rbac_roles.rb +4 -2
  124. data/lib/anthropic/resources/beta/organization/service_accounts/workspaces.rb +6 -3
  125. data/lib/anthropic/resources/beta/organization/service_accounts.rb +10 -5
  126. data/lib/anthropic/resources/beta/organization/spend_limits/effective.rb +2 -1
  127. data/lib/anthropic/resources/beta/organization/spend_limits/increase_requests.rb +8 -4
  128. data/lib/anthropic/resources/beta/organization/spend_limits.rb +8 -4
  129. data/lib/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rb +6 -3
  130. data/lib/anthropic/resources/beta/organization/telemetry_destinations.rb +12 -6
  131. data/lib/anthropic/resources/beta/organization/users.rb +8 -4
  132. data/lib/anthropic/resources/beta/organization/webhooks.rb +12 -9
  133. data/lib/anthropic/resources/beta/organization/workspaces/members.rb +10 -5
  134. data/lib/anthropic/resources/beta/organization/workspaces/rate_limits.rb +4 -6
  135. data/lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb +10 -5
  136. data/lib/anthropic/resources/beta/organization/workspaces.rb +10 -5
  137. data/lib/anthropic/resources/beta/organization.rb +6 -1
  138. data/lib/anthropic/resources/beta/sessions/events.rb +6 -3
  139. data/lib/anthropic/resources/beta/sessions/resources.rb +10 -5
  140. data/lib/anthropic/resources/beta/sessions/threads/events.rb +4 -2
  141. data/lib/anthropic/resources/beta/sessions/threads.rb +6 -3
  142. data/lib/anthropic/resources/beta/sessions.rb +12 -6
  143. data/lib/anthropic/resources/beta/skills/versions.rb +10 -5
  144. data/lib/anthropic/resources/beta/skills.rb +8 -4
  145. data/lib/anthropic/resources/beta/tunnels/certificates.rb +8 -4
  146. data/lib/anthropic/resources/beta/tunnels.rb +12 -6
  147. data/lib/anthropic/resources/beta/user_profiles/action_urls.rb +2 -1
  148. data/lib/anthropic/resources/beta/user_profiles.rb +12 -6
  149. data/lib/anthropic/resources/beta/vaults/credentials.rb +14 -7
  150. data/lib/anthropic/resources/beta/vaults.rb +12 -6
  151. data/lib/anthropic/version.rb +1 -1
  152. data/lib/anthropic.rb +47 -0
  153. data/rbi/anthropic/helpers/google_cloud/client.rbi +0 -4
  154. data/rbi/anthropic/internal/tracing.rbi +28 -0
  155. data/rbi/anthropic/internal/transport/base_client.rbi +5 -1
  156. data/rbi/anthropic/internal/type/base_page.rbi +2 -0
  157. data/rbi/anthropic/internal/type/base_stream.rbi +2 -0
  158. data/rbi/anthropic/internal/type/request_parameters.rbi +4 -0
  159. data/rbi/anthropic/models/anthropic_beta.rbi +5 -0
  160. data/rbi/anthropic/models/beta/beta_code_execution_tool_20260120.rbi +10 -2
  161. data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block.rbi +9 -1
  162. data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rbi +2 -1
  163. data/rbi/anthropic/models/beta/beta_skill_params.rbi +1 -1
  164. data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rbi +4 -2
  165. data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rbi +2 -4
  166. data/rbi/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbi +31 -0
  167. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbi +87 -0
  168. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbi +31 -0
  169. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbi +31 -0
  170. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbi +31 -0
  171. data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbi +115 -0
  172. data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbi +178 -0
  173. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings.rbi +108 -0
  174. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbi +110 -0
  175. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbi +110 -0
  176. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbi +50 -0
  177. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbi +43 -0
  178. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbi +32 -0
  179. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbi +67 -0
  180. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbi +44 -0
  181. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbi +36 -0
  182. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbi +43 -0
  183. data/rbi/anthropic/models/beta/organization/beta_external_key.rbi +4 -4
  184. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbi +87 -0
  185. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbi +41 -0
  186. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbi +154 -0
  187. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbi +151 -0
  188. data/rbi/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbi +92 -0
  189. data/rbi/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbi +78 -0
  190. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbi +102 -0
  191. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbi +92 -0
  192. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbi +43 -0
  193. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbi +78 -0
  194. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbi +51 -0
  195. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbi +78 -0
  196. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbi +51 -0
  197. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbi +82 -0
  198. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbi +94 -0
  199. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbi +104 -0
  200. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbi +94 -0
  201. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbi +118 -0
  202. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbi +78 -0
  203. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbi +134 -0
  204. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbi +95 -0
  205. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbi +100 -0
  206. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbi +124 -0
  207. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbi +95 -0
  208. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbi +100 -0
  209. data/rbi/anthropic/models/code_execution_tool_20260120.rbi +10 -2
  210. data/rbi/anthropic/models/encrypted_code_execution_result_block.rbi +9 -1
  211. data/rbi/anthropic/models/encrypted_code_execution_result_block_param.rbi +2 -1
  212. data/rbi/anthropic/models/organization/external_key.rbi +4 -4
  213. data/rbi/anthropic/models/skill_params.rbi +1 -1
  214. data/rbi/anthropic/resources/beta/organization/analytics/user_cost_report.rbi +3 -3
  215. data/rbi/anthropic/resources/beta/organization/analytics/user_usage_report.rbi +3 -3
  216. data/rbi/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbi +140 -0
  217. data/rbi/anthropic/resources/beta/organization/claude_tag/bundles.rbi +75 -0
  218. data/rbi/anthropic/resources/beta/organization/claude_tag/slack_channels.rbi +203 -0
  219. data/rbi/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbi +123 -0
  220. data/rbi/anthropic/resources/beta/organization/claude_tag.rbi +37 -0
  221. data/rbi/anthropic/resources/beta/organization.rbi +3 -0
  222. data/sig/anthropic/helpers/google_cloud/client.rbs +0 -2
  223. data/sig/anthropic/internal/tracing.rbs +14 -0
  224. data/sig/anthropic/internal/transport/base_client.rbs +3 -0
  225. data/sig/anthropic/internal/type/request_parameters.rbs +2 -0
  226. data/sig/anthropic/models/anthropic_beta.rbs +2 -0
  227. data/sig/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbs +17 -0
  228. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbs +45 -0
  229. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbs +17 -0
  230. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbs +17 -0
  231. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbs +17 -0
  232. data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbs +73 -0
  233. data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbs +44 -0
  234. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings.rbs +44 -0
  235. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbs +44 -0
  236. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbs +44 -0
  237. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbs +20 -0
  238. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbs +23 -0
  239. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbs +18 -0
  240. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbs +29 -0
  241. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbs +26 -0
  242. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbs +18 -0
  243. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbs +23 -0
  244. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbs +51 -0
  245. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbs +22 -0
  246. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbs +56 -0
  247. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbs +56 -0
  248. data/sig/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbs +50 -0
  249. data/sig/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbs +41 -0
  250. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbs +54 -0
  251. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbs +48 -0
  252. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbs +27 -0
  253. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbs +43 -0
  254. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbs +27 -0
  255. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbs +43 -0
  256. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbs +30 -0
  257. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbs +43 -0
  258. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbs +48 -0
  259. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbs +57 -0
  260. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbs +48 -0
  261. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbs +50 -0
  262. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbs +38 -0
  263. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbs +69 -0
  264. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbs +48 -0
  265. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbs +46 -0
  266. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbs +64 -0
  267. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbs +48 -0
  268. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbs +46 -0
  269. data/sig/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbs +44 -0
  270. data/sig/anthropic/resources/beta/organization/claude_tag/bundles.rbs +28 -0
  271. data/sig/anthropic/resources/beta/organization/claude_tag/slack_channels.rbs +50 -0
  272. data/sig/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbs +36 -0
  273. data/sig/anthropic/resources/beta/organization/claude_tag.rbs +17 -0
  274. data/sig/anthropic/resources/beta/organization.rbs +2 -0
  275. metadata +142 -1
@@ -0,0 +1,263 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Resources
5
+ class Beta
6
+ class Organization
7
+ class ClaudeTag
8
+ class SlackChannels
9
+ # Set a Slack channel up for Claude Tag and return it with its identifier. If the
10
+ # channel is already set up, whether in claude.ai, by Claude's first use in it or
11
+ # by an earlier request, the existing channel is returned, so the request can be
12
+ # repeated. `settings`, when sent, is applied as an update applies it. Before a
13
+ # channel is set up, Claude's Slack app confirms with Slack that the channel is in
14
+ # the workspace, is not archived and is visible to the app; a channel that fails
15
+ # the confirmation returns 404. Setting the channel up and applying `settings` are
16
+ # two steps: when the second is refused, the response is the refusal, the channel
17
+ # stays set up with every setting unset, and the error's
18
+ # `details.slack_channel_id` holds the channel's identifier.
19
+ #
20
+ # Some parameter documentations has been truncated, see
21
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelCreateParams} for
22
+ # more details.
23
+ #
24
+ # @overload create(slack:, settings: nil, betas: nil, request_options: {})
25
+ #
26
+ # @param slack [Anthropic::Models::Beta::Organization::BetaClaudeTagSlackChannelIdentifiers] Body param: Slack's own identifiers for the channel to set up. The organization
27
+ #
28
+ # @param settings [Anthropic::Models::Beta::Organization::BetaClaudeTagSettingsCreate] Body param: Settings to store on the channel, applied as Update Slack Channel ap
29
+ #
30
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
31
+ #
32
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
33
+ #
34
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel]
35
+ #
36
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelCreateParams
37
+ def create(params)
38
+ parsed, options = Anthropic::Beta::Organization::ClaudeTag::SlackChannelCreateParams.dump_request(params)
39
+ header_params = {betas: "anthropic-beta"}
40
+ @client.request(
41
+ qualifiers: {beta: "true"},
42
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_CHANNELS_CREATE,
43
+ span_created_id: "anthropic.organization.claude_tag.slack_channel.id",
44
+ span_route: "/v1/organizations/claude_tag/slack_channels",
45
+ method: :post,
46
+ path: "v1/organizations/claude_tag/slack_channels",
47
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
48
+ body: parsed.except(*header_params.keys),
49
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel,
50
+ options: {
51
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
52
+ **options
53
+ }
54
+ )
55
+ end
56
+
57
+ # Get one Slack channel and its settings. By default `settings` holds what the
58
+ # channel itself stores: a setting that is null there is not set on the channel
59
+ # and is inherited. With `include_inherited=true`, `settings` holds what applies
60
+ # in the channel once the settings levels above it are taken into account, and the
61
+ # request fails with 503 rather than resolve against a settings level that could
62
+ # not be read. Either way `sources` names the settings level each value comes
63
+ # from, so a caller tells the channel's own value from an inherited one by its
64
+ # source, not by whether it is null.
65
+ #
66
+ # Some parameter documentations has been truncated, see
67
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelRetrieveParams}
68
+ # for more details.
69
+ #
70
+ # @overload retrieve(id, include_inherited: nil, betas: nil, request_options: {})
71
+ #
72
+ # @param id [String] Path param: The channel's identifier, starting with `slch_`.
73
+ #
74
+ # @param include_inherited [Boolean] Query param: When `true`, `settings` holds what applies in the channel once the
75
+ #
76
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
77
+ #
78
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
79
+ #
80
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel]
81
+ #
82
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelRetrieveParams
83
+ def retrieve(id, params = {})
84
+ query_params = [:include_inherited]
85
+ parsed, options =
86
+ Anthropic::Beta::Organization::ClaudeTag::SlackChannelRetrieveParams.dump_request(params)
87
+ query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
88
+ @client.request(
89
+ qualifiers: {beta: "true"},
90
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_CHANNELS_RETRIEVE,
91
+ span_attributes: {"anthropic.organization.claude_tag.slack_channel.id" => id},
92
+ span_route: "/v1/organizations/claude_tag/slack_channels/{id}",
93
+ span_query: %w[include_inherited],
94
+ method: :get,
95
+ path: ["v1/organizations/claude_tag/slack_channels/%1$s", id],
96
+ query: query,
97
+ headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
98
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel,
99
+ options: {
100
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
101
+ **options
102
+ }
103
+ )
104
+ end
105
+
106
+ # Change the settings a Slack channel stores. The update is partial: a setting
107
+ # left out is unchanged, and a setting sent as null is cleared, so the channel
108
+ # inherits it. If any value is refused, no setting in the request is stored. A
109
+ # group direct message takes no settings and returns 400.
110
+ #
111
+ # Some parameter documentations has been truncated, see
112
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelUpdateParams} for
113
+ # more details.
114
+ #
115
+ # @overload update(id, settings:, betas: nil, request_options: {})
116
+ #
117
+ # @param id [String] Path param: The channel's identifier, starting with `slch_`.
118
+ #
119
+ # @param settings [Anthropic::Models::Beta::Organization::BetaClaudeTagSettingsUpdate] Body param: The settings to change.
120
+ #
121
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
122
+ #
123
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
124
+ #
125
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel]
126
+ #
127
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelUpdateParams
128
+ def update(id, params)
129
+ parsed, options = Anthropic::Beta::Organization::ClaudeTag::SlackChannelUpdateParams.dump_request(params)
130
+ header_params = {betas: "anthropic-beta"}
131
+ @client.request(
132
+ qualifiers: {beta: "true"},
133
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_CHANNELS_UPDATE,
134
+ span_attributes: {"anthropic.organization.claude_tag.slack_channel.id" => id},
135
+ span_route: "/v1/organizations/claude_tag/slack_channels/{id}",
136
+ method: :post,
137
+ path: ["v1/organizations/claude_tag/slack_channels/%1$s", id],
138
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
139
+ body: parsed.except(*header_params.keys),
140
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel,
141
+ options: {
142
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
143
+ **options
144
+ }
145
+ )
146
+ end
147
+
148
+ # List the set-up Slack channels of one Slack workspace, newest first by
149
+ # `created_at`. A channel that is not set up is not listed: Slack holds the full
150
+ # list of a workspace's channels. Pass `slack_channel_id` as well to look one
151
+ # channel up by its Slack identifiers: `data` then holds that channel, or is empty
152
+ # when it is not set up, and `limit` and `page` are ignored. A workspace that the
153
+ # organization owns only through a Slack Enterprise Grid returns 404 until it is
154
+ # set up. With `include_inherited=true` each channel's `settings` holds what
155
+ # applies in it, and the request fails with 503 rather than resolve against a
156
+ # settings level that could not be read. A `page` cursor resumes only a request
157
+ # with the same `include_inherited`.
158
+ #
159
+ # Some parameter documentations has been truncated, see
160
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelListParams} for
161
+ # more details.
162
+ #
163
+ # @overload list(slack_workspace_id:, include_inherited: nil, limit: nil, page: nil, slack_channel_id: nil, betas: nil, request_options: {})
164
+ #
165
+ # @param slack_workspace_id [String] Query param: The Slack workspace whose channels to list: Slack's identifier for
166
+ #
167
+ # @param include_inherited [Boolean] Query param: When `true`, `settings` holds what applies in each channel once the
168
+ #
169
+ # @param limit [Integer] Query param: Number of items to return per page, between 1 and 100. Defaults to
170
+ #
171
+ # @param page [String] Query param: Opaque cursor from a previous response's `next_page`.
172
+ #
173
+ # @param slack_channel_id [String] Query param: Slack's identifier for one channel of that workspace, as in the cha
174
+ #
175
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
176
+ #
177
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
178
+ #
179
+ # @return [Anthropic::Internal::PageCursor<Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel>]
180
+ #
181
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelListParams
182
+ def list(params)
183
+ query_params = [:slack_workspace_id, :include_inherited, :limit, :page, :slack_channel_id]
184
+ parsed, options = Anthropic::Beta::Organization::ClaudeTag::SlackChannelListParams.dump_request(params)
185
+ query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
186
+ @client.request(
187
+ qualifiers: {beta: "true"},
188
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_CHANNELS_LIST,
189
+ span_route: "/v1/organizations/claude_tag/slack_channels",
190
+ span_query: %w[include_inherited limit page slack_channel_id slack_workspace_id],
191
+ method: :get,
192
+ path: "v1/organizations/claude_tag/slack_channels",
193
+ query: query,
194
+ headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
195
+ page: Anthropic::Internal::PageCursor,
196
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackChannel,
197
+ options: {
198
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
199
+ **options
200
+ }
201
+ )
202
+ end
203
+
204
+ # Remove a Slack channel from Claude Tag. This deletes the channel's stored
205
+ # settings and its Bundle Targets at once, and then, in the background, the
206
+ # channel's sessions and their transcripts, its memory, its routines and the
207
+ # artifacts published from it. None of it can be restored. The channel in Slack
208
+ # and its messages are unchanged. The request is refused with 400 and
209
+ # `error.details.error_code` `slack_channel_enabled` while `enabled` resolves to
210
+ # `true` for the channel, as a read with `include_inherited=true` returns it: set
211
+ # `enabled` to `false` on the channel first. This guards against removing a
212
+ # channel in use by mistake; it is not a way to keep Claude out, because the
213
+ # removal deletes the channel's own `enabled: false` with its other settings,
214
+ # after which the channel inherits again and Claude's next use of it can set it up
215
+ # anew with a new identifier. The identifier returns 404 as soon as the request
216
+ # returns, so a repeated removal returns 404. A group direct message returns 400,
217
+ # and so does a channel that holds configuration this API does not manage.
218
+ #
219
+ # Some parameter documentations has been truncated, see
220
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelDeleteParams} for
221
+ # more details.
222
+ #
223
+ # @overload delete(id, betas: nil, request_options: {})
224
+ #
225
+ # @param id [String] The channel's identifier, starting with `slch_`.
226
+ #
227
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] This endpoint is in beta: requests must send `experimental-claude-tag-2026-10-21
228
+ #
229
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
230
+ #
231
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagDeletedSlackChannel]
232
+ #
233
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackChannelDeleteParams
234
+ def delete(id, params = {})
235
+ parsed, options = Anthropic::Beta::Organization::ClaudeTag::SlackChannelDeleteParams.dump_request(params)
236
+ @client.request(
237
+ qualifiers: {beta: "true"},
238
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_CHANNELS_DELETE,
239
+ span_attributes: {"anthropic.organization.claude_tag.slack_channel.id" => id},
240
+ span_route: "/v1/organizations/claude_tag/slack_channels/{id}",
241
+ method: :delete,
242
+ path: ["v1/organizations/claude_tag/slack_channels/%1$s", id],
243
+ headers: parsed.transform_keys(betas: "anthropic-beta"),
244
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagDeletedSlackChannel,
245
+ options: {
246
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
247
+ **options
248
+ }
249
+ )
250
+ end
251
+
252
+ # @api private
253
+ #
254
+ # @param client [Anthropic::Client]
255
+ def initialize(client:)
256
+ @client = client
257
+ end
258
+ end
259
+ end
260
+ end
261
+ end
262
+ end
263
+ end
@@ -0,0 +1,162 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Resources
5
+ class Beta
6
+ class Organization
7
+ class ClaudeTag
8
+ class SlackWorkspaces
9
+ # Get one Slack workspace and its settings. By default `settings` holds what the
10
+ # workspace itself stores: a setting that is null there is not set on the
11
+ # workspace and is inherited. With `include_inherited=true`, `settings` holds what
12
+ # applies in the workspace once the organization's Slack defaults are taken into
13
+ # account, and the request fails with 503 rather than resolve against a settings
14
+ # level that could not be read. Either way `sources` names the settings level each
15
+ # value comes from.
16
+ #
17
+ # Some parameter documentations has been truncated, see
18
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceRetrieveParams}
19
+ # for more details.
20
+ #
21
+ # @overload retrieve(id, include_inherited: nil, betas: nil, request_options: {})
22
+ #
23
+ # @param id [String] Path param: The workspace's identifier, starting with `slws_`.
24
+ #
25
+ # @param include_inherited [Boolean] Query param: When `true`, `settings` holds what applies in the workspace once th
26
+ #
27
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
28
+ #
29
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
30
+ #
31
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace]
32
+ #
33
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceRetrieveParams
34
+ def retrieve(id, params = {})
35
+ query_params = [:include_inherited]
36
+ parsed, options =
37
+ Anthropic::Beta::Organization::ClaudeTag::SlackWorkspaceRetrieveParams.dump_request(params)
38
+ query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
39
+ @client.request(
40
+ qualifiers: {beta: "true"},
41
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_WORKSPACES_RETRIEVE,
42
+ span_attributes: {"anthropic.organization.claude_tag.slack_workspace.id" => id},
43
+ span_route: "/v1/organizations/claude_tag/slack_workspaces/{id}",
44
+ span_query: %w[include_inherited],
45
+ method: :get,
46
+ path: ["v1/organizations/claude_tag/slack_workspaces/%1$s", id],
47
+ query: query,
48
+ headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
49
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace,
50
+ options: {
51
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
52
+ **options
53
+ }
54
+ )
55
+ end
56
+
57
+ # Change the settings a Slack workspace stores. The update is partial: a setting
58
+ # left out is unchanged, and a setting sent as null is cleared, so the workspace
59
+ # inherits it. If any value is refused, no setting in the request is stored.
60
+ #
61
+ # Some parameter documentations has been truncated, see
62
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceUpdateParams}
63
+ # for more details.
64
+ #
65
+ # @overload update(id, settings:, betas: nil, request_options: {})
66
+ #
67
+ # @param id [String] Path param: The workspace's identifier, starting with `slws_`.
68
+ #
69
+ # @param settings [Anthropic::Models::Beta::Organization::BetaClaudeTagSettingsUpdate] Body param: The settings to change.
70
+ #
71
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
72
+ #
73
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
74
+ #
75
+ # @return [Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace]
76
+ #
77
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceUpdateParams
78
+ def update(id, params)
79
+ parsed, options =
80
+ Anthropic::Beta::Organization::ClaudeTag::SlackWorkspaceUpdateParams.dump_request(params)
81
+ header_params = {betas: "anthropic-beta"}
82
+ @client.request(
83
+ qualifiers: {beta: "true"},
84
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_WORKSPACES_UPDATE,
85
+ span_attributes: {"anthropic.organization.claude_tag.slack_workspace.id" => id},
86
+ span_route: "/v1/organizations/claude_tag/slack_workspaces/{id}",
87
+ method: :post,
88
+ path: ["v1/organizations/claude_tag/slack_workspaces/%1$s", id],
89
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
90
+ body: parsed.except(*header_params.keys),
91
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace,
92
+ options: {
93
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
94
+ **options
95
+ }
96
+ )
97
+ end
98
+
99
+ # List the set-up Slack workspaces the organization owns, newest first by
100
+ # `created_at`. Pass `slack_workspace_id` to look one workspace up by its Slack
101
+ # identifier: `data` then holds that workspace, or is empty when it is not set up.
102
+ # A workspace of a Slack Enterprise Grid the organization has connected returns
103
+ # 404 until it is set up. With `include_inherited=true` each workspace's
104
+ # `settings` holds what applies in it, and the request fails with 503 rather than
105
+ # resolve against a settings level that could not be read. A `page` cursor resumes
106
+ # only a request with the same `include_inherited`.
107
+ #
108
+ # Some parameter documentations has been truncated, see
109
+ # {Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceListParams} for
110
+ # more details.
111
+ #
112
+ # @overload list(include_inherited: nil, limit: nil, page: nil, slack_workspace_id: nil, betas: nil, request_options: {})
113
+ #
114
+ # @param include_inherited [Boolean] Query param: When `true`, `settings` holds what applies in each workspace once t
115
+ #
116
+ # @param limit [Integer] Query param: Number of items to return per page, between 1 and 100. Defaults to
117
+ #
118
+ # @param page [String] Query param: Opaque cursor from a previous response's `next_page`.
119
+ #
120
+ # @param slack_workspace_id [String] Query param: Slack's identifier for one workspace, as in the workspace object's
121
+ #
122
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `experimental-claude-
123
+ #
124
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
125
+ #
126
+ # @return [Anthropic::Internal::PageCursor<Anthropic::Models::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace>]
127
+ #
128
+ # @see Anthropic::Models::Beta::Organization::ClaudeTag::SlackWorkspaceListParams
129
+ def list(params = {})
130
+ query_params = [:include_inherited, :limit, :page, :slack_workspace_id]
131
+ parsed, options = Anthropic::Beta::Organization::ClaudeTag::SlackWorkspaceListParams.dump_request(params)
132
+ query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
133
+ @client.request(
134
+ qualifiers: {beta: "true"},
135
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_CLAUDE_TAG_SLACK_WORKSPACES_LIST,
136
+ span_route: "/v1/organizations/claude_tag/slack_workspaces",
137
+ span_query: %w[include_inherited limit page slack_workspace_id],
138
+ method: :get,
139
+ path: "v1/organizations/claude_tag/slack_workspaces",
140
+ query: query,
141
+ headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
142
+ page: Anthropic::Internal::PageCursor,
143
+ model: Anthropic::Beta::Organization::ClaudeTag::BetaClaudeTagSlackWorkspace,
144
+ options: {
145
+ extra_headers: {"anthropic-beta" => "experimental-claude-tag-2026-10-21"},
146
+ **options
147
+ }
148
+ )
149
+ end
150
+
151
+ # @api private
152
+ #
153
+ # @param client [Anthropic::Client]
154
+ def initialize(client:)
155
+ @client = client
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Resources
5
+ class Beta
6
+ class Organization
7
+ class ClaudeTag
8
+ # @return [Anthropic::Resources::Beta::Organization::ClaudeTag::SlackChannels]
9
+ attr_reader :slack_channels
10
+
11
+ # @return [Anthropic::Resources::Beta::Organization::ClaudeTag::SlackWorkspaces]
12
+ attr_reader :slack_workspaces
13
+
14
+ # @return [Anthropic::Resources::Beta::Organization::ClaudeTag::Bundles]
15
+ attr_reader :bundles
16
+
17
+ # @api private
18
+ #
19
+ # @param client [Anthropic::Client]
20
+ def initialize(client:)
21
+ @client = client
22
+ @slack_channels = Anthropic::Resources::Beta::Organization::ClaudeTag::SlackChannels.new(client: client)
23
+ @slack_workspaces =
24
+ Anthropic::Resources::Beta::Organization::ClaudeTag::SlackWorkspaces.new(client: client)
25
+ @bundles = Anthropic::Resources::Beta::Organization::ClaudeTag::Bundles.new(client: client)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -21,10 +21,11 @@ module Anthropic
21
21
  # @see Anthropic::Models::Beta::Organization::ComplianceSettingRetrieveParams
22
22
  def retrieve(params = {})
23
23
  @client.request(
24
+ qualifiers: {beta: "true"},
24
25
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_COMPLIANCE_SETTINGS_RETRIEVE,
25
26
  span_route: "/v1/organizations/compliance_settings",
26
27
  method: :get,
27
- path: "v1/organizations/compliance_settings?beta=true",
28
+ path: "v1/organizations/compliance_settings",
28
29
  model: Anthropic::Beta::Organization::BetaComplianceSettings,
29
30
  options: params[:request_options]
30
31
  )
@@ -60,10 +61,11 @@ module Anthropic
60
61
  def update(params)
61
62
  parsed, options = Anthropic::Beta::Organization::ComplianceSettingUpdateParams.dump_request(params)
62
63
  @client.request(
64
+ qualifiers: {beta: "true"},
63
65
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_COMPLIANCE_SETTINGS_UPDATE,
64
66
  span_route: "/v1/organizations/compliance_settings",
65
67
  method: :post,
66
- path: "v1/organizations/compliance_settings?beta=true",
68
+ path: "v1/organizations/compliance_settings",
67
69
  body: parsed,
68
70
  model: Anthropic::Beta::Organization::BetaComplianceSettings,
69
71
  options: options
@@ -23,11 +23,12 @@ module Anthropic
23
23
  def create(params)
24
24
  parsed, options = Anthropic::Beta::Organization::ExternalKeyCreateParams.dump_request(params)
25
25
  @client.request(
26
+ qualifiers: {beta: "true"},
26
27
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_CREATE,
27
28
  span_created_id: "anthropic.organization.external_key.id",
28
29
  span_route: "/v1/organizations/external_keys",
29
30
  method: :post,
30
- path: "v1/organizations/external_keys?beta=true",
31
+ path: "v1/organizations/external_keys",
31
32
  body: parsed,
32
33
  model: Anthropic::Beta::Organization::BetaExternalKey,
33
34
  options: options
@@ -47,11 +48,12 @@ module Anthropic
47
48
  # @see Anthropic::Models::Beta::Organization::ExternalKeyRetrieveParams
48
49
  def retrieve(external_key_id, params = {})
49
50
  @client.request(
51
+ qualifiers: {beta: "true"},
50
52
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_RETRIEVE,
51
53
  span_attributes: {"anthropic.organization.external_key.id" => external_key_id},
52
54
  span_route: "/v1/organizations/external_keys/{external_key_id}",
53
55
  method: :get,
54
- path: ["v1/organizations/external_keys/%1$s?beta=true", external_key_id],
56
+ path: ["v1/organizations/external_keys/%1$s", external_key_id],
55
57
  model: Anthropic::Beta::Organization::BetaExternalKey,
56
58
  options: params[:request_options]
57
59
  )
@@ -81,11 +83,12 @@ module Anthropic
81
83
  def update(external_key_id, params = {})
82
84
  parsed, options = Anthropic::Beta::Organization::ExternalKeyUpdateParams.dump_request(params)
83
85
  @client.request(
86
+ qualifiers: {beta: "true"},
84
87
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_UPDATE,
85
88
  span_attributes: {"anthropic.organization.external_key.id" => external_key_id},
86
89
  span_route: "/v1/organizations/external_keys/{external_key_id}",
87
90
  method: :post,
88
- path: ["v1/organizations/external_keys/%1$s?beta=true", external_key_id],
91
+ path: ["v1/organizations/external_keys/%1$s", external_key_id],
89
92
  body: parsed,
90
93
  model: Anthropic::Beta::Organization::BetaExternalKey,
91
94
  options: options
@@ -112,11 +115,12 @@ module Anthropic
112
115
  parsed, options = Anthropic::Beta::Organization::ExternalKeyListParams.dump_request(params)
113
116
  query = Anthropic::Internal::Util.encode_query_params(parsed)
114
117
  @client.request(
118
+ qualifiers: {beta: "true"},
115
119
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_LIST,
116
120
  span_route: "/v1/organizations/external_keys",
117
121
  span_query: %w[limit page],
118
122
  method: :get,
119
- path: "v1/organizations/external_keys?beta=true",
123
+ path: "v1/organizations/external_keys",
120
124
  query: query,
121
125
  page: Anthropic::Internal::PageCursor,
122
126
  model: Anthropic::Beta::Organization::BetaExternalKey,
@@ -139,11 +143,12 @@ module Anthropic
139
143
  # @see Anthropic::Models::Beta::Organization::ExternalKeyDeleteParams
140
144
  def delete(external_key_id, params = {})
141
145
  @client.request(
146
+ qualifiers: {beta: "true"},
142
147
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_DELETE,
143
148
  span_attributes: {"anthropic.organization.external_key.id" => external_key_id},
144
149
  span_route: "/v1/organizations/external_keys/{external_key_id}",
145
150
  method: :delete,
146
- path: ["v1/organizations/external_keys/%1$s?beta=true", external_key_id],
151
+ path: ["v1/organizations/external_keys/%1$s", external_key_id],
147
152
  model: Anthropic::Models::Beta::Organization::ExternalKeyDeleteResponse,
148
153
  options: params[:request_options]
149
154
  )
@@ -167,11 +172,12 @@ module Anthropic
167
172
  # @see Anthropic::Models::Beta::Organization::ExternalKeyValidateParams
168
173
  def validate(external_key_id, params = {})
169
174
  @client.request(
175
+ qualifiers: {beta: "true"},
170
176
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_EXTERNAL_KEYS_VALIDATE,
171
177
  span_attributes: {"anthropic.organization.external_key.id" => external_key_id},
172
178
  span_route: "/v1/organizations/external_keys/{external_key_id}/validate",
173
179
  method: :post,
174
- path: ["v1/organizations/external_keys/%1$s/validate?beta=true", external_key_id],
180
+ path: ["v1/organizations/external_keys/%1$s/validate", external_key_id],
175
181
  model: Anthropic::Models::Beta::Organization::ExternalKeyValidateResponse,
176
182
  options: params[:request_options]
177
183
  )
@@ -50,11 +50,12 @@ module Anthropic
50
50
  parsed, options = Anthropic::Beta::Organization::Federation::IssuerCreateParams.dump_request(params)
51
51
  header_params = {betas: "anthropic-beta"}
52
52
  @client.request(
53
+ qualifiers: {beta: "true"},
53
54
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_FEDERATION_ISSUERS_CREATE,
54
55
  span_created_id: "anthropic.organization.federation_issuer.id",
55
56
  span_route: "/v1/organizations/federation_issuers",
56
57
  method: :post,
57
- path: "v1/organizations/federation_issuers?beta=true",
58
+ path: "v1/organizations/federation_issuers",
58
59
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
59
60
  body: parsed.except(*header_params.keys),
60
61
  model: Anthropic::Beta::Organization::Federation::BetaFederationIssuer,
@@ -83,11 +84,12 @@ module Anthropic
83
84
  def retrieve(federation_issuer_id, params = {})
84
85
  parsed, options = Anthropic::Beta::Organization::Federation::IssuerRetrieveParams.dump_request(params)
85
86
  @client.request(
87
+ qualifiers: {beta: "true"},
86
88
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_FEDERATION_ISSUERS_RETRIEVE,
87
89
  span_attributes: {"anthropic.organization.federation_issuer.id" => federation_issuer_id},
88
90
  span_route: "/v1/organizations/federation_issuers/{federation_issuer_id}",
89
91
  method: :get,
90
- path: ["v1/organizations/federation_issuers/%1$s?beta=true", federation_issuer_id],
92
+ path: ["v1/organizations/federation_issuers/%1$s", federation_issuer_id],
91
93
  headers: parsed.transform_keys(betas: "anthropic-beta"),
92
94
  model: Anthropic::Beta::Organization::Federation::BetaFederationIssuer,
93
95
  options: options
@@ -138,11 +140,12 @@ module Anthropic
138
140
  parsed, options = Anthropic::Beta::Organization::Federation::IssuerUpdateParams.dump_request(params)
139
141
  header_params = {betas: "anthropic-beta"}
140
142
  @client.request(
143
+ qualifiers: {beta: "true"},
141
144
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_FEDERATION_ISSUERS_UPDATE,
142
145
  span_attributes: {"anthropic.organization.federation_issuer.id" => federation_issuer_id},
143
146
  span_route: "/v1/organizations/federation_issuers/{federation_issuer_id}",
144
147
  method: :post,
145
- path: ["v1/organizations/federation_issuers/%1$s?beta=true", federation_issuer_id],
148
+ path: ["v1/organizations/federation_issuers/%1$s", federation_issuer_id],
146
149
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
147
150
  body: parsed.except(*header_params.keys),
148
151
  model: Anthropic::Beta::Organization::Federation::BetaFederationIssuer,
@@ -179,11 +182,12 @@ module Anthropic
179
182
  parsed, options = Anthropic::Beta::Organization::Federation::IssuerListParams.dump_request(params)
180
183
  query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
181
184
  @client.request(
185
+ qualifiers: {beta: "true"},
182
186
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_FEDERATION_ISSUERS_LIST,
183
187
  span_route: "/v1/organizations/federation_issuers",
184
188
  span_query: %w[include_archived limit page],
185
189
  method: :get,
186
- path: "v1/organizations/federation_issuers?beta=true",
190
+ path: "v1/organizations/federation_issuers",
187
191
  query: query,
188
192
  headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
189
193
  page: Anthropic::Internal::PageCursor,
@@ -218,11 +222,12 @@ module Anthropic
218
222
  def archive(federation_issuer_id, params = {})
219
223
  parsed, options = Anthropic::Beta::Organization::Federation::IssuerArchiveParams.dump_request(params)
220
224
  @client.request(
225
+ qualifiers: {beta: "true"},
221
226
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_FEDERATION_ISSUERS_ARCHIVE,
222
227
  span_attributes: {"anthropic.organization.federation_issuer.id" => federation_issuer_id},
223
228
  span_route: "/v1/organizations/federation_issuers/{federation_issuer_id}/archive",
224
229
  method: :post,
225
- path: ["v1/organizations/federation_issuers/%1$s/archive?beta=true", federation_issuer_id],
230
+ path: ["v1/organizations/federation_issuers/%1$s/archive", federation_issuer_id],
226
231
  headers: parsed.transform_keys(betas: "anthropic-beta"),
227
232
  model: Anthropic::Beta::Organization::Federation::BetaFederationIssuer,
228
233
  options: options