anthropic 2.1.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 (421) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -0
  3. data/README.md +2 -2
  4. data/lib/anthropic/client.rb +9 -1
  5. data/lib/anthropic/helpers/bedrock/client.rb +11 -3
  6. data/lib/anthropic/helpers/bedrock/mantle_client.rb +5 -0
  7. data/lib/anthropic/helpers/google_cloud/client.rb +9 -25
  8. data/lib/anthropic/helpers/refusal_fallback.rb +1 -2
  9. data/lib/anthropic/helpers/stainless_helper_header.rb +4 -2
  10. data/lib/anthropic/helpers/threads/beta_message_thread.rb +635 -0
  11. data/lib/anthropic/helpers/tools/runner.rb +79 -11
  12. data/lib/anthropic/helpers/vertex/client.rb +5 -0
  13. data/lib/anthropic/internal/report_page_cursor.rb +2 -2
  14. data/lib/anthropic/internal/tracing.rb +22 -0
  15. data/lib/anthropic/internal/transport/base_client.rb +16 -2
  16. data/lib/anthropic/models/anthropic_beta.rb +9 -0
  17. data/lib/anthropic/models/beta/beta_code_execution_tool_20260120.rb +10 -2
  18. data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_content.rb +5 -1
  19. data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rb +1 -1
  20. data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block.rb +9 -1
  21. data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rb +2 -1
  22. data/lib/anthropic/models/beta/beta_message_thread_param.rb +61 -0
  23. data/lib/anthropic/models/beta/beta_response_tool_union.rb +5 -1
  24. data/lib/anthropic/models/beta/beta_skill_params.rb +1 -1
  25. data/lib/anthropic/models/beta/beta_thread_continue_params.rb +29 -0
  26. data/lib/anthropic/models/beta/beta_thread_create_params.rb +21 -0
  27. data/lib/anthropic/models/beta/beta_tool_union.rb +5 -1
  28. data/lib/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rb +7 -2
  29. data/lib/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rb +2 -4
  30. data/lib/anthropic/models/beta/message_count_tokens_params.rb +5 -1
  31. data/lib/anthropic/models/beta/message_create_params.rb +13 -1
  32. data/lib/anthropic/models/beta/messages/batch_create_params.rb +13 -1
  33. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rb +271 -0
  34. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rb +40 -0
  35. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rb +57 -0
  36. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rb +57 -0
  37. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rb +22 -0
  38. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rb +247 -0
  39. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rb +38 -0
  40. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rb +57 -0
  41. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rb +79 -0
  42. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rb +24 -0
  43. data/lib/anthropic/models/beta/organization/analytics/cost_list_params.rb +360 -0
  44. data/lib/anthropic/models/beta/organization/analytics/usage_list_params.rb +353 -0
  45. data/lib/anthropic/models/beta/organization/beta_analytics_actor.rb +81 -0
  46. data/lib/anthropic/models/beta/organization/beta_analytics_actor_type.rb +22 -0
  47. data/lib/anthropic/models/beta/organization/beta_analytics_api_actor.rb +27 -0
  48. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor.rb +42 -0
  49. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rb +35 -0
  50. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rb +27 -0
  51. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rb +27 -0
  52. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rb +27 -0
  53. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rb +72 -0
  54. data/lib/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rb +21 -0
  55. data/lib/anthropic/models/beta/organization/beta_analytics_report_user_actor.rb +65 -0
  56. data/lib/anthropic/models/beta/organization/beta_analytics_service_account_actor.rb +27 -0
  57. data/lib/anthropic/models/beta/organization/beta_analytics_service_tier.rb +23 -0
  58. data/lib/anthropic/models/beta/organization/beta_analytics_speed.rb +19 -0
  59. data/lib/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rb +20 -0
  60. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rb +19 -0
  61. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rb +34 -0
  62. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rb +19 -0
  63. data/lib/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rb +21 -0
  64. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rb +63 -0
  65. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rb +21 -0
  66. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rb +21 -0
  67. data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rb +21 -0
  68. data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_source.rb +87 -0
  69. data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rb +72 -0
  70. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings.rb +70 -0
  71. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_create.rb +67 -0
  72. data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_update.rb +67 -0
  73. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rb +37 -0
  74. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rb +29 -0
  75. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rb +22 -0
  76. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rb +31 -0
  77. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rb +30 -0
  78. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rb +23 -0
  79. data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rb +29 -0
  80. data/lib/anthropic/models/beta/organization/beta_external_key.rb +3 -3
  81. data/lib/anthropic/models/beta/organization/beta_organization_rate_limit.rb +2 -1
  82. data/lib/anthropic/models/beta/organization/beta_plugin.rb +12 -6
  83. data/lib/anthropic/models/beta/organization/beta_plugin_content_scan.rb +11 -5
  84. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rb +66 -0
  85. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rb +32 -0
  86. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rb +87 -0
  87. data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rb +86 -0
  88. data/lib/anthropic/models/beta/organization/claude_tag/bundle_list_params.rb +49 -0
  89. data/lib/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rb +41 -0
  90. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rb +76 -0
  91. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rb +70 -0
  92. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rb +34 -0
  93. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rb +57 -0
  94. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rb +38 -0
  95. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rb +57 -0
  96. data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rb +38 -0
  97. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rb +43 -0
  98. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rb +53 -0
  99. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rb +59 -0
  100. data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rb +53 -0
  101. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rb +50 -0
  102. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rb +41 -0
  103. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rb +79 -0
  104. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rb +52 -0
  105. data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rb +49 -0
  106. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rb +70 -0
  107. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rb +52 -0
  108. data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rb +49 -0
  109. data/lib/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rb +2 -1
  110. data/lib/anthropic/models/code_execution_tool_20260120.rb +10 -2
  111. data/lib/anthropic/models/code_execution_tool_result_block_content.rb +5 -1
  112. data/lib/anthropic/models/code_execution_tool_result_block_param_content.rb +1 -1
  113. data/lib/anthropic/models/encrypted_code_execution_result_block.rb +9 -1
  114. data/lib/anthropic/models/encrypted_code_execution_result_block_param.rb +2 -1
  115. data/lib/anthropic/models/message_count_tokens_tool.rb +5 -1
  116. data/lib/anthropic/models/organization/external_key.rb +3 -3
  117. data/lib/anthropic/models/organization/organization_rate_limit.rb +2 -1
  118. data/lib/anthropic/models/organization/workspaces/workspace_rate_limit.rb +2 -1
  119. data/lib/anthropic/models/skill_params.rb +1 -1
  120. data/lib/anthropic/models/tool_union.rb +5 -1
  121. data/lib/anthropic/resources/beta/agents/versions.rb +2 -1
  122. data/lib/anthropic/resources/beta/agents.rb +10 -5
  123. data/lib/anthropic/resources/beta/deployment_runs.rb +4 -2
  124. data/lib/anthropic/resources/beta/deployments.rb +16 -8
  125. data/lib/anthropic/resources/beta/dreams.rb +10 -5
  126. data/lib/anthropic/resources/beta/environments/work.rb +16 -8
  127. data/lib/anthropic/resources/beta/environments.rb +12 -6
  128. data/lib/anthropic/resources/beta/files.rb +10 -5
  129. data/lib/anthropic/resources/beta/memory_stores/memories.rb +10 -5
  130. data/lib/anthropic/resources/beta/memory_stores/memory_versions.rb +6 -11
  131. data/lib/anthropic/resources/beta/memory_stores.rb +12 -6
  132. data/lib/anthropic/resources/beta/messages/batches.rb +12 -6
  133. data/lib/anthropic/resources/beta/messages.rb +84 -7
  134. data/lib/anthropic/resources/beta/models.rb +4 -2
  135. data/lib/anthropic/resources/beta/organization/analytics/apps/chat/projects.rb +2 -1
  136. data/lib/anthropic/resources/beta/organization/analytics/artifacts.rb +2 -1
  137. data/lib/anthropic/resources/beta/organization/analytics/connectors.rb +2 -1
  138. data/lib/anthropic/resources/beta/organization/analytics/cost.rb +176 -0
  139. data/lib/anthropic/resources/beta/organization/analytics/cost_report.rb +14 -6
  140. data/lib/anthropic/resources/beta/organization/analytics/plugins.rb +2 -1
  141. data/lib/anthropic/resources/beta/organization/analytics/skills.rb +2 -1
  142. data/lib/anthropic/resources/beta/organization/analytics/summaries.rb +2 -1
  143. data/lib/anthropic/resources/beta/organization/analytics/usage.rb +177 -0
  144. data/lib/anthropic/resources/beta/organization/analytics/usage_report.rb +11 -3
  145. data/lib/anthropic/resources/beta/organization/analytics/user_cost_report.rb +17 -9
  146. data/lib/anthropic/resources/beta/organization/analytics/user_usage_report.rb +17 -9
  147. data/lib/anthropic/resources/beta/organization/analytics/users.rb +2 -1
  148. data/lib/anthropic/resources/beta/organization/analytics.rb +8 -0
  149. data/lib/anthropic/resources/beta/organization/api_keys.rb +6 -3
  150. data/lib/anthropic/resources/beta/organization/claude_tag/bundles/targets.rb +204 -0
  151. data/lib/anthropic/resources/beta/organization/claude_tag/bundles.rb +102 -0
  152. data/lib/anthropic/resources/beta/organization/claude_tag/slack_channels.rb +263 -0
  153. data/lib/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rb +162 -0
  154. data/lib/anthropic/resources/beta/organization/claude_tag.rb +31 -0
  155. data/lib/anthropic/resources/beta/organization/compliance_settings.rb +4 -2
  156. data/lib/anthropic/resources/beta/organization/external_keys.rb +12 -6
  157. data/lib/anthropic/resources/beta/organization/federation/issuers.rb +10 -5
  158. data/lib/anthropic/resources/beta/organization/federation/rules/workspaces.rb +6 -3
  159. data/lib/anthropic/resources/beta/organization/federation/rules.rb +10 -5
  160. data/lib/anthropic/resources/beta/organization/invites.rb +8 -4
  161. data/lib/anthropic/resources/beta/organization/plugin_marketplaces.rb +16 -11
  162. data/lib/anthropic/resources/beta/organization/plugins/installation_settings.rb +6 -11
  163. data/lib/anthropic/resources/beta/organization/plugins/shares.rb +2 -1
  164. data/lib/anthropic/resources/beta/organization/plugins/versions.rb +8 -4
  165. data/lib/anthropic/resources/beta/organization/plugins.rb +22 -14
  166. data/lib/anthropic/resources/beta/organization/rate_limits.rb +2 -1
  167. data/lib/anthropic/resources/beta/organization/rbac_groups/members.rb +6 -3
  168. data/lib/anthropic/resources/beta/organization/rbac_groups.rb +10 -5
  169. data/lib/anthropic/resources/beta/organization/rbac_roles/permissions.rb +2 -1
  170. data/lib/anthropic/resources/beta/organization/rbac_roles.rb +4 -2
  171. data/lib/anthropic/resources/beta/organization/service_accounts/workspaces.rb +6 -3
  172. data/lib/anthropic/resources/beta/organization/service_accounts.rb +10 -5
  173. data/lib/anthropic/resources/beta/organization/spend_limits/effective.rb +2 -1
  174. data/lib/anthropic/resources/beta/organization/spend_limits/increase_requests.rb +8 -4
  175. data/lib/anthropic/resources/beta/organization/spend_limits.rb +8 -4
  176. data/lib/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rb +6 -3
  177. data/lib/anthropic/resources/beta/organization/telemetry_destinations.rb +12 -6
  178. data/lib/anthropic/resources/beta/organization/users.rb +8 -4
  179. data/lib/anthropic/resources/beta/organization/webhooks.rb +12 -9
  180. data/lib/anthropic/resources/beta/organization/workspaces/members.rb +10 -5
  181. data/lib/anthropic/resources/beta/organization/workspaces/rate_limits.rb +4 -6
  182. data/lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb +10 -5
  183. data/lib/anthropic/resources/beta/organization/workspaces.rb +10 -5
  184. data/lib/anthropic/resources/beta/organization.rb +6 -1
  185. data/lib/anthropic/resources/beta/sessions/events.rb +6 -3
  186. data/lib/anthropic/resources/beta/sessions/resources.rb +10 -5
  187. data/lib/anthropic/resources/beta/sessions/threads/events.rb +4 -2
  188. data/lib/anthropic/resources/beta/sessions/threads.rb +6 -3
  189. data/lib/anthropic/resources/beta/sessions.rb +12 -6
  190. data/lib/anthropic/resources/beta/skills/versions.rb +10 -5
  191. data/lib/anthropic/resources/beta/skills.rb +8 -4
  192. data/lib/anthropic/resources/beta/tunnels/certificates.rb +8 -4
  193. data/lib/anthropic/resources/beta/tunnels.rb +12 -6
  194. data/lib/anthropic/resources/beta/user_profiles/action_urls.rb +2 -1
  195. data/lib/anthropic/resources/beta/user_profiles.rb +12 -6
  196. data/lib/anthropic/resources/beta/vaults/credentials.rb +14 -7
  197. data/lib/anthropic/resources/beta/vaults.rb +12 -6
  198. data/lib/anthropic/version.rb +1 -1
  199. data/lib/anthropic.rb +83 -0
  200. data/rbi/anthropic/client.rbi +5 -0
  201. data/rbi/anthropic/helpers/bedrock/client.rbi +5 -0
  202. data/rbi/anthropic/helpers/bedrock/mantle_client.rbi +5 -0
  203. data/rbi/anthropic/helpers/google_cloud/client.rbi +0 -4
  204. data/rbi/anthropic/helpers/threads/beta_message_thread.rbi +100 -0
  205. data/rbi/anthropic/helpers/vertex/client.rbi +5 -0
  206. data/rbi/anthropic/internal/tracing.rbi +32 -0
  207. data/rbi/anthropic/internal/transport/base_client.rbi +5 -1
  208. data/rbi/anthropic/internal/type/base_page.rbi +2 -0
  209. data/rbi/anthropic/internal/type/base_stream.rbi +2 -0
  210. data/rbi/anthropic/internal/type/request_parameters.rbi +4 -0
  211. data/rbi/anthropic/models/anthropic_beta.rbi +15 -0
  212. data/rbi/anthropic/models/beta/beta_code_execution_tool_20260120.rbi +10 -2
  213. data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block.rbi +9 -1
  214. data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rbi +2 -1
  215. data/rbi/anthropic/models/beta/beta_message_thread_param.rbi +80 -0
  216. data/rbi/anthropic/models/beta/beta_skill_params.rbi +1 -1
  217. data/rbi/anthropic/models/beta/beta_thread_continue_params.rbi +43 -0
  218. data/rbi/anthropic/models/beta/beta_thread_create_params.rbi +31 -0
  219. data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rbi +4 -2
  220. data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rbi +2 -4
  221. data/rbi/anthropic/models/beta/message_create_params.rbi +37 -0
  222. data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +37 -0
  223. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbi +439 -0
  224. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbi +140 -0
  225. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbi +110 -0
  226. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbi +79 -0
  227. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbi +50 -0
  228. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbi +399 -0
  229. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbi +130 -0
  230. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbi +110 -0
  231. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbi +120 -0
  232. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbi +60 -0
  233. data/rbi/anthropic/models/beta/organization/analytics/cost_list_params.rbi +624 -0
  234. data/rbi/anthropic/models/beta/organization/analytics/usage_list_params.rbi +612 -0
  235. data/rbi/anthropic/models/beta/organization/beta_analytics_actor.rbi +134 -0
  236. data/rbi/anthropic/models/beta/organization/beta_analytics_actor_type.rbi +54 -0
  237. data/rbi/anthropic/models/beta/organization/beta_analytics_api_actor.rbi +40 -0
  238. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor.rbi +75 -0
  239. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbi +54 -0
  240. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbi +42 -0
  241. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbi +42 -0
  242. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbi +42 -0
  243. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbi +107 -0
  244. data/rbi/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbi +53 -0
  245. data/rbi/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbi +94 -0
  246. data/rbi/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbi +42 -0
  247. data/rbi/anthropic/models/beta/organization/beta_analytics_service_tier.rbi +63 -0
  248. data/rbi/anthropic/models/beta/organization/beta_analytics_speed.rbi +40 -0
  249. data/rbi/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbi +48 -0
  250. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbi +43 -0
  251. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbi +98 -0
  252. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbi +43 -0
  253. data/rbi/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbi +31 -0
  254. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbi +87 -0
  255. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbi +31 -0
  256. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbi +31 -0
  257. data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbi +31 -0
  258. data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbi +115 -0
  259. data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbi +178 -0
  260. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings.rbi +108 -0
  261. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbi +110 -0
  262. data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbi +110 -0
  263. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbi +50 -0
  264. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbi +43 -0
  265. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbi +32 -0
  266. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbi +67 -0
  267. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbi +44 -0
  268. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbi +36 -0
  269. data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbi +43 -0
  270. data/rbi/anthropic/models/beta/organization/beta_external_key.rbi +4 -4
  271. data/rbi/anthropic/models/beta/organization/beta_organization_rate_limit.rbi +4 -2
  272. data/rbi/anthropic/models/beta/organization/beta_plugin.rbi +20 -8
  273. data/rbi/anthropic/models/beta/organization/beta_plugin_content_scan.rbi +15 -6
  274. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbi +87 -0
  275. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbi +41 -0
  276. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbi +154 -0
  277. data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbi +151 -0
  278. data/rbi/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbi +92 -0
  279. data/rbi/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbi +78 -0
  280. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbi +102 -0
  281. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbi +92 -0
  282. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbi +43 -0
  283. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbi +78 -0
  284. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbi +51 -0
  285. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbi +78 -0
  286. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbi +51 -0
  287. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbi +82 -0
  288. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbi +94 -0
  289. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbi +104 -0
  290. data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbi +94 -0
  291. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbi +118 -0
  292. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbi +78 -0
  293. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbi +134 -0
  294. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbi +95 -0
  295. data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbi +100 -0
  296. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbi +124 -0
  297. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbi +95 -0
  298. data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbi +100 -0
  299. data/rbi/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rbi +4 -2
  300. data/rbi/anthropic/models/code_execution_tool_20260120.rbi +10 -2
  301. data/rbi/anthropic/models/encrypted_code_execution_result_block.rbi +9 -1
  302. data/rbi/anthropic/models/encrypted_code_execution_result_block_param.rbi +2 -1
  303. data/rbi/anthropic/models/organization/external_key.rbi +4 -4
  304. data/rbi/anthropic/models/organization/organization_rate_limit.rbi +4 -2
  305. data/rbi/anthropic/models/organization/workspaces/workspace_rate_limit.rbi +4 -2
  306. data/rbi/anthropic/models/skill_params.rbi +1 -1
  307. data/rbi/anthropic/resources/beta/messages.rbi +191 -0
  308. data/rbi/anthropic/resources/beta/organization/analytics/cost.rbi +245 -0
  309. data/rbi/anthropic/resources/beta/organization/analytics/cost_report.rbi +12 -5
  310. data/rbi/anthropic/resources/beta/organization/analytics/usage.rbi +240 -0
  311. data/rbi/anthropic/resources/beta/organization/analytics/usage_report.rbi +9 -2
  312. data/rbi/anthropic/resources/beta/organization/analytics/user_cost_report.rbi +14 -7
  313. data/rbi/anthropic/resources/beta/organization/analytics/user_usage_report.rbi +14 -7
  314. data/rbi/anthropic/resources/beta/organization/analytics.rbi +10 -0
  315. data/rbi/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbi +140 -0
  316. data/rbi/anthropic/resources/beta/organization/claude_tag/bundles.rbi +75 -0
  317. data/rbi/anthropic/resources/beta/organization/claude_tag/slack_channels.rbi +203 -0
  318. data/rbi/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbi +123 -0
  319. data/rbi/anthropic/resources/beta/organization/claude_tag.rbi +37 -0
  320. data/rbi/anthropic/resources/beta/organization/plugin_marketplaces.rbi +6 -6
  321. data/rbi/anthropic/resources/beta/organization/plugins.rbi +12 -9
  322. data/rbi/anthropic/resources/beta/organization.rbi +3 -0
  323. data/rbi/lib/anthropic/helpers/stainless_helper_header.rbi +2 -0
  324. data/sig/anthropic/client.rbs +2 -0
  325. data/sig/anthropic/helpers/bedrock/client.rbs +2 -0
  326. data/sig/anthropic/helpers/google_cloud/client.rbs +0 -2
  327. data/sig/anthropic/helpers/threads/beta_message_thread.rbs +40 -0
  328. data/sig/anthropic/helpers/tools/runner.rbs +40 -0
  329. data/sig/anthropic/helpers/vertex/client.rbs +2 -0
  330. data/sig/anthropic/internal/tracing.rbs +16 -0
  331. data/sig/anthropic/internal/transport/base_client.rbs +3 -0
  332. data/sig/anthropic/internal/type/request_parameters.rbs +2 -0
  333. data/sig/anthropic/models/anthropic_beta.rbs +6 -0
  334. data/sig/anthropic/models/beta/beta_message_thread_param.rbs +40 -0
  335. data/sig/anthropic/models/beta/beta_thread_continue_params.rbs +20 -0
  336. data/sig/anthropic/models/beta/beta_thread_create_params.rbs +17 -0
  337. data/sig/anthropic/models/beta/message_create_params.rbs +5 -0
  338. data/sig/anthropic/models/beta/messages/batch_create_params.rbs +5 -0
  339. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbs +126 -0
  340. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbs +60 -0
  341. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbs +41 -0
  342. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbs +41 -0
  343. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbs +21 -0
  344. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbs +116 -0
  345. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbs +56 -0
  346. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbs +41 -0
  347. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbs +56 -0
  348. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbs +28 -0
  349. data/sig/anthropic/models/beta/organization/analytics/cost_list_params.rbs +188 -0
  350. data/sig/anthropic/models/beta/organization/analytics/usage_list_params.rbs +188 -0
  351. data/sig/anthropic/models/beta/organization/beta_analytics_actor.rbs +67 -0
  352. data/sig/anthropic/models/beta/organization/beta_analytics_actor_type.rbs +21 -0
  353. data/sig/anthropic/models/beta/organization/beta_analytics_api_actor.rbs +19 -0
  354. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor.rbs +34 -0
  355. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbs +30 -0
  356. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbs +20 -0
  357. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbs +20 -0
  358. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbs +20 -0
  359. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbs +60 -0
  360. data/sig/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbs +21 -0
  361. data/sig/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbs +44 -0
  362. data/sig/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbs +26 -0
  363. data/sig/anthropic/models/beta/organization/beta_analytics_service_tier.rbs +28 -0
  364. data/sig/anthropic/models/beta/organization/beta_analytics_speed.rbs +18 -0
  365. data/sig/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbs +19 -0
  366. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbs +18 -0
  367. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbs +40 -0
  368. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbs +18 -0
  369. data/sig/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbs +17 -0
  370. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbs +45 -0
  371. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbs +17 -0
  372. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbs +17 -0
  373. data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbs +17 -0
  374. data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbs +73 -0
  375. data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbs +44 -0
  376. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings.rbs +44 -0
  377. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbs +44 -0
  378. data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbs +44 -0
  379. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbs +20 -0
  380. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbs +23 -0
  381. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbs +18 -0
  382. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbs +29 -0
  383. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbs +26 -0
  384. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbs +18 -0
  385. data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbs +23 -0
  386. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbs +51 -0
  387. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbs +22 -0
  388. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbs +56 -0
  389. data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbs +56 -0
  390. data/sig/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbs +50 -0
  391. data/sig/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbs +41 -0
  392. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbs +54 -0
  393. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbs +48 -0
  394. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbs +27 -0
  395. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbs +43 -0
  396. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbs +27 -0
  397. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbs +43 -0
  398. data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbs +30 -0
  399. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbs +43 -0
  400. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbs +48 -0
  401. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbs +57 -0
  402. data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbs +48 -0
  403. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbs +50 -0
  404. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbs +38 -0
  405. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbs +69 -0
  406. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbs +48 -0
  407. data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbs +46 -0
  408. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbs +64 -0
  409. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbs +48 -0
  410. data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbs +46 -0
  411. data/sig/anthropic/resources/beta/messages.rbs +33 -0
  412. data/sig/anthropic/resources/beta/organization/analytics/cost.rbs +46 -0
  413. data/sig/anthropic/resources/beta/organization/analytics/usage.rbs +46 -0
  414. data/sig/anthropic/resources/beta/organization/analytics.rbs +4 -0
  415. data/sig/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbs +44 -0
  416. data/sig/anthropic/resources/beta/organization/claude_tag/bundles.rbs +28 -0
  417. data/sig/anthropic/resources/beta/organization/claude_tag/slack_channels.rbs +50 -0
  418. data/sig/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbs +36 -0
  419. data/sig/anthropic/resources/beta/organization/claude_tag.rbs +17 -0
  420. data/sig/anthropic/resources/beta/organization.rbs +2 -0
  421. metadata +252 -2
@@ -7,14 +7,59 @@ module Anthropic
7
7
  # @return [Anthropic::Resources::Beta::Messages::Batches]
8
8
  attr_reader :batches
9
9
 
10
+ # Runs the tool calls of a conversation until the model gives its final reply.
11
+ #
12
+ # The runner sends its requests on a message thread, so that each request after the first
13
+ # carries only the messages that are new. Pass `thread: false` to send the whole history
14
+ # with every request instead.
15
+ #
10
16
  # @param params [Anthropic::Models::Beta::MessageCreateParams]
11
17
  #
18
+ # @option params [false, nil] :thread `false` turns the message thread off; `nil` leaves it on.
19
+ #
20
+ # @raise [ArgumentError] if `thread` is anything else
21
+ #
12
22
  # @return [Anthropic::Helpers::Tools::Runner]
13
23
  def tool_runner(params)
14
24
  params = params.to_h.transform_keys(&:to_sym)
15
25
  warn_thinking_enabled(params)
16
26
  max_iterations = params.delete(:max_iterations)
17
- Anthropic::Helpers::Tools::Runner.new(@client, params:, max_iterations:)
27
+ thread = runner_thread(params)
28
+ Anthropic::Helpers::Tools::Runner.new(@client, params:, max_iterations:, thread:)
29
+ end
30
+
31
+ # Creates a message thread: a conversation that the API keeps between requests, so that
32
+ # each turn sends only the messages that are new. It sends no request.
33
+ #
34
+ # Takes the keywords of {#create} except `thread` and `stream`. `messages` is optional and
35
+ # seeds the history, which the first turn sends.
36
+ #
37
+ # @param params [Hash{Symbol=>Object}]
38
+ #
39
+ # @option params [Symbol] :unsupported_request_behavior What a turn does when the API cannot
40
+ # serve the request on a thread: `:error` (the default) raises the error, and
41
+ # `:continue_unthreaded` sends the turn again, and every later turn, with the whole
42
+ # history and no thread.
43
+ #
44
+ # @raise [ArgumentError] if `thread` or `stream` is given
45
+ #
46
+ # @raise [NotImplementedError] if the client's platform has no message threads
47
+ #
48
+ # @return [Anthropic::Helpers::Threads::BetaMessageThread]
49
+ def thread(params)
50
+ unless @client.message_threads?
51
+ raise NotImplementedError.new(
52
+ "Message threads are not available on this client. Use `#create` with the whole history instead."
53
+ )
54
+ end
55
+
56
+ params = params.to_h.transform_keys(&:to_sym)
57
+ unsupported_request_behavior = params.delete(:unsupported_request_behavior) || :error
58
+ Anthropic::Helpers::Threads::BetaMessageThread.new(
59
+ @client,
60
+ params:,
61
+ unsupported_request_behavior:
62
+ )
18
63
  end
19
64
 
20
65
  # See {Anthropic::Resources::Beta::Messages#stream_raw} for streaming counterpart.
@@ -31,7 +76,7 @@ module Anthropic
31
76
  # Some parameter documentations has been truncated, see
32
77
  # {Anthropic::Models::Beta::MessageCreateParams} for more details.
33
78
  #
34
- # @overload create(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
79
+ # @overload create(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, thread: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
35
80
  #
36
81
  # @param max_tokens [Integer] Body param: The maximum number of tokens to generate before stopping.
37
82
  #
@@ -73,6 +118,8 @@ module Anthropic
73
118
  #
74
119
  # @param thinking [Anthropic::Models::Beta::BetaThinkingConfigEnabled, Anthropic::Models::Beta::BetaThinkingConfigDisabled, Anthropic::Models::Beta::BetaThinkingConfigBetweenTools, Anthropic::Models::Beta::BetaThinkingConfigAdaptive] Body param: Configuration for Claude's thinking.
75
120
  #
121
+ # @param thread [Anthropic::Models::Beta::BetaThreadCreateParams, Anthropic::Models::Beta::BetaThreadContinueParams, nil] Body param: Server-held conversation state (a Thread). `{"type": "create"}` asks
122
+ #
76
123
  # @param tool_choice [Anthropic::Models::Beta::BetaToolChoiceAuto, Anthropic::Models::Beta::BetaToolChoiceAny, Anthropic::Models::Beta::BetaToolChoiceTool, Anthropic::Models::Beta::BetaToolChoiceNone] Body param: How the model should use the provided tools. The model can use a spe
77
124
  #
78
125
  # @param tools [Array<Anthropic::Models::Beta::BetaTool, Anthropic::Models::Beta::BetaToolBash20241022, Anthropic::Models::Beta::BetaToolBash20250124, Anthropic::Models::Beta::BetaCodeExecutionTool20250522, Anthropic::Models::Beta::BetaCodeExecutionTool20250825, Anthropic::Models::Beta::BetaCodeExecutionTool20260120, Anthropic::Models::Beta::BetaCodeExecutionTool20260521, Anthropic::Models::Beta::BetaBrowserToolset20260801, Anthropic::Models::Beta::BetaToolComputerUse20241022, Anthropic::Models::Beta::BetaMemoryTool20250818, Anthropic::Models::Beta::BetaToolComputerUse20250124, Anthropic::Models::Beta::BetaToolTextEditor20241022, Anthropic::Models::Beta::BetaToolComputerUse20251124, Anthropic::Models::Beta::BetaComputerToolset20260801, Anthropic::Models::Beta::BetaToolTextEditor20250124, Anthropic::Models::Beta::BetaToolTextEditor20250429, Anthropic::Models::Beta::BetaToolTextEditor20250728, Anthropic::Models::Beta::BetaWebSearchTool20250305, Anthropic::Models::Beta::BetaWebFetchTool20250910, Anthropic::Models::Beta::BetaWebSearchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260309, Anthropic::Models::Beta::BetaWebSearchTool20260318, Anthropic::Models::Beta::BetaWebFetchTool20260318, Anthropic::Models::Beta::BetaAdvisorTool20260301, Anthropic::Models::Beta::BetaToolSearchToolBm25_20251119, Anthropic::Models::Beta::BetaToolSearchToolRegex20251119, Anthropic::Models::Beta::BetaMCPToolset>] Body param: Definitions of tools that the model may use.
@@ -122,10 +169,11 @@ module Anthropic
122
169
  workspace_id: "anthropic-workspace-id"
123
170
  }
124
171
  @client.request(
172
+ qualifiers: {beta: "true"},
125
173
  span_name: Anthropic::Internal::Tracing::SpanName::MESSAGES_CREATE,
126
174
  span_route: "/v1/messages",
127
175
  method: :post,
128
- path: "v1/messages?beta=true",
176
+ path: "v1/messages",
129
177
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
130
178
  body: parsed.except(*header_params.keys),
131
179
  model: Anthropic::Beta::BetaMessage,
@@ -148,7 +196,7 @@ module Anthropic
148
196
  # Some parameter documentations has been truncated, see
149
197
  # {Anthropic::Models::Beta::MessageCreateParams} for more details.
150
198
  #
151
- # @overload stream_raw(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
199
+ # @overload stream_raw(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, thread: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
152
200
  #
153
201
  # @param max_tokens [Integer] Body param: The maximum number of tokens to generate before stopping.
154
202
  #
@@ -190,6 +238,8 @@ module Anthropic
190
238
  #
191
239
  # @param thinking [Anthropic::Models::Beta::BetaThinkingConfigEnabled, Anthropic::Models::Beta::BetaThinkingConfigDisabled, Anthropic::Models::Beta::BetaThinkingConfigBetweenTools, Anthropic::Models::Beta::BetaThinkingConfigAdaptive] Body param: Configuration for Claude's thinking.
192
240
  #
241
+ # @param thread [Anthropic::Models::Beta::BetaThreadCreateParams, Anthropic::Models::Beta::BetaThreadContinueParams, nil] Body param: Server-held conversation state (a Thread). `{"type": "create"}` asks
242
+ #
193
243
  # @param tool_choice [Anthropic::Models::Beta::BetaToolChoiceAuto, Anthropic::Models::Beta::BetaToolChoiceAny, Anthropic::Models::Beta::BetaToolChoiceTool, Anthropic::Models::Beta::BetaToolChoiceNone] Body param: How the model should use the provided tools. The model can use a spe
194
244
  #
195
245
  # @param tools [Array<Anthropic::Models::Beta::BetaTool, Anthropic::Models::Beta::BetaToolBash20241022, Anthropic::Models::Beta::BetaToolBash20250124, Anthropic::Models::Beta::BetaCodeExecutionTool20250522, Anthropic::Models::Beta::BetaCodeExecutionTool20250825, Anthropic::Models::Beta::BetaCodeExecutionTool20260120, Anthropic::Models::Beta::BetaCodeExecutionTool20260521, Anthropic::Models::Beta::BetaBrowserToolset20260801, Anthropic::Models::Beta::BetaToolComputerUse20241022, Anthropic::Models::Beta::BetaMemoryTool20250818, Anthropic::Models::Beta::BetaToolComputerUse20250124, Anthropic::Models::Beta::BetaToolTextEditor20241022, Anthropic::Models::Beta::BetaToolComputerUse20251124, Anthropic::Models::Beta::BetaComputerToolset20260801, Anthropic::Models::Beta::BetaToolTextEditor20250124, Anthropic::Models::Beta::BetaToolTextEditor20250429, Anthropic::Models::Beta::BetaToolTextEditor20250728, Anthropic::Models::Beta::BetaWebSearchTool20250305, Anthropic::Models::Beta::BetaWebFetchTool20250910, Anthropic::Models::Beta::BetaWebSearchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260309, Anthropic::Models::Beta::BetaWebSearchTool20260318, Anthropic::Models::Beta::BetaWebFetchTool20260318, Anthropic::Models::Beta::BetaAdvisorTool20260301, Anthropic::Models::Beta::BetaToolSearchToolBm25_20251119, Anthropic::Models::Beta::BetaToolSearchToolRegex20251119, Anthropic::Models::Beta::BetaMCPToolset>] Body param: Definitions of tools that the model may use.
@@ -224,10 +274,11 @@ module Anthropic
224
274
  workspace_id: "anthropic-workspace-id"
225
275
  }
226
276
  @client.request(
277
+ qualifiers: {beta: "true"},
227
278
  span_name: Anthropic::Internal::Tracing::SpanName::MESSAGES_CREATE,
228
279
  span_route: "/v1/messages",
229
280
  method: :post,
230
- path: "v1/messages?beta=true",
281
+ path: "v1/messages",
231
282
  headers: stream_headers(
232
283
  "accept" => "text/event-stream",
233
284
  "accept-encoding" => "identity",
@@ -301,10 +352,11 @@ module Anthropic
301
352
  workspace_id: "anthropic-workspace-id"
302
353
  }
303
354
  @client.request(
355
+ qualifiers: {beta: "true"},
304
356
  span_name: Anthropic::Internal::Tracing::SpanName::MESSAGES_COUNT_TOKENS,
305
357
  span_route: "/v1/messages/count_tokens",
306
358
  method: :post,
307
- path: "v1/messages/count_tokens?beta=true",
359
+ path: "v1/messages/count_tokens",
308
360
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
309
361
  body: parsed.except(*header_params.keys),
310
362
  model: Anthropic::Beta::BetaMessageTokensCount,
@@ -318,7 +370,7 @@ module Anthropic
318
370
  # Some parameter documentations has been truncated, see
319
371
  # {Anthropic::Models::Beta::MessageCreateParams} for more details.
320
372
  #
321
- # @overload stream(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
373
+ # @overload stream(max_tokens:, messages:, model:, cache_control: nil, compaction: nil, container: nil, context_management: nil, diagnostics: nil, fallback_credit_token: nil, fallbacks: nil, inference_geo: nil, mcp_servers: nil, metadata: nil, output_config: nil, output_format: nil, service_tier: nil, speed: nil, stop_sequences: nil, system_: nil, thinking: nil, thread: nil, tool_choice: nil, tools: nil, betas: nil, user_profile_id: nil, workspace_id: nil, request_options: {})
322
374
  #
323
375
  # @param max_tokens [Integer] Body param: The maximum number of tokens to generate before stopping.
324
376
  #
@@ -360,6 +412,8 @@ module Anthropic
360
412
  #
361
413
  # @param thinking [Anthropic::Models::Beta::BetaThinkingConfigEnabled, Anthropic::Models::Beta::BetaThinkingConfigDisabled, Anthropic::Models::Beta::BetaThinkingConfigBetweenTools, Anthropic::Models::Beta::BetaThinkingConfigAdaptive] Body param: Configuration for Claude's thinking.
362
414
  #
415
+ # @param thread [Anthropic::Models::Beta::BetaThreadCreateParams, Anthropic::Models::Beta::BetaThreadContinueParams, nil] Body param: Server-held conversation state (a Thread). `{"type": "create"}` asks
416
+ #
363
417
  # @param tool_choice [Anthropic::Models::Beta::BetaToolChoiceAuto, Anthropic::Models::Beta::BetaToolChoiceAny, Anthropic::Models::Beta::BetaToolChoiceTool, Anthropic::Models::Beta::BetaToolChoiceNone] Body param: How the model should use the provided tools. The model can use a spe
364
418
  #
365
419
  # @param tools [Array<Anthropic::Models::Beta::BetaTool, Anthropic::Models::Beta::BetaToolBash20241022, Anthropic::Models::Beta::BetaToolBash20250124, Anthropic::Models::Beta::BetaCodeExecutionTool20250522, Anthropic::Models::Beta::BetaCodeExecutionTool20250825, Anthropic::Models::Beta::BetaCodeExecutionTool20260120, Anthropic::Models::Beta::BetaCodeExecutionTool20260521, Anthropic::Models::Beta::BetaBrowserToolset20260801, Anthropic::Models::Beta::BetaToolComputerUse20241022, Anthropic::Models::Beta::BetaMemoryTool20250818, Anthropic::Models::Beta::BetaToolComputerUse20250124, Anthropic::Models::Beta::BetaToolTextEditor20241022, Anthropic::Models::Beta::BetaToolComputerUse20251124, Anthropic::Models::Beta::BetaComputerToolset20260801, Anthropic::Models::Beta::BetaToolTextEditor20250124, Anthropic::Models::Beta::BetaToolTextEditor20250429, Anthropic::Models::Beta::BetaToolTextEditor20250728, Anthropic::Models::Beta::BetaWebSearchTool20250305, Anthropic::Models::Beta::BetaWebFetchTool20250910, Anthropic::Models::Beta::BetaWebSearchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260209, Anthropic::Models::Beta::BetaWebFetchTool20260309, Anthropic::Models::Beta::BetaWebSearchTool20260318, Anthropic::Models::Beta::BetaWebFetchTool20260318, Anthropic::Models::Beta::BetaAdvisorTool20260301, Anthropic::Models::Beta::BetaToolSearchToolBm25_20251119, Anthropic::Models::Beta::BetaToolSearchToolRegex20251119, Anthropic::Models::Beta::BetaMCPToolset>] Body param: Definitions of tools that the model may use.
@@ -381,6 +435,29 @@ module Anthropic
381
435
 
382
436
  private
383
437
 
438
+ # The message thread of a tool runner, `nil` when the runner sends the whole history with
439
+ # every request. Removes `thread` from `params`.
440
+ #
441
+ # @param params [Hash{Symbol=>Object}]
442
+ #
443
+ # @return [Anthropic::Helpers::Threads::BetaMessageThread, nil]
444
+ def runner_thread(params)
445
+ thread = params.delete(:thread)
446
+ unless thread.nil? || thread == false
447
+ raise ArgumentError.new(
448
+ "`thread` on a tool runner can only be `false`, got #{thread.inspect}. " \
449
+ "The runner sets `thread` for each request itself."
450
+ )
451
+ end
452
+ return nil if thread == false || !@client.message_threads?
453
+
454
+ Anthropic::Helpers::Threads::BetaMessageThread.new(
455
+ @client,
456
+ params: {},
457
+ unsupported_request_behavior: :continue_unthreaded
458
+ )
459
+ end
460
+
384
461
  def warn_thinking_enabled(parsed)
385
462
  if Anthropic::Resources::Messages::MODELS_TO_WARN_WITH_THINKING_ENABLED.include?(parsed[:model]) &&
386
463
  parsed[:thinking] &&
@@ -28,11 +28,12 @@ module Anthropic
28
28
  def retrieve(model_id, params = {})
29
29
  parsed, options = Anthropic::Beta::ModelRetrieveParams.dump_request(params)
30
30
  @client.request(
31
+ qualifiers: {beta: "true"},
31
32
  span_name: Anthropic::Internal::Tracing::SpanName::MODELS_RETRIEVE,
32
33
  span_attributes: {"anthropic.model.id" => model_id},
33
34
  span_route: "/v1/models/{model_id}",
34
35
  method: :get,
35
- path: ["v1/models/%1$s?beta=true", model_id],
36
+ path: ["v1/models/%1$s", model_id],
36
37
  headers: parsed.transform_keys(betas: "anthropic-beta", workspace_id: "anthropic-workspace-id"),
37
38
  model: Anthropic::Beta::BetaModelInfo,
38
39
  options: options
@@ -71,11 +72,12 @@ module Anthropic
71
72
  parsed, options = Anthropic::Beta::ModelListParams.dump_request(params)
72
73
  query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
73
74
  @client.request(
75
+ qualifiers: {beta: "true"},
74
76
  span_name: Anthropic::Internal::Tracing::SpanName::MODELS_LIST,
75
77
  span_route: "/v1/models",
76
78
  span_query: %w[after_id before_id lifecycle limit],
77
79
  method: :get,
78
- path: "v1/models?beta=true",
80
+ path: "v1/models",
79
81
  query: query,
80
82
  headers: parsed.except(*query_params).transform_keys(
81
83
  betas: "anthropic-beta",
@@ -50,11 +50,12 @@ module Anthropic
50
50
  Anthropic::Beta::Organization::Analytics::Apps::Chat::ProjectListParams.dump_request(params)
51
51
  query = Anthropic::Internal::Util.encode_query_params(parsed)
52
52
  @client.request(
53
+ qualifiers: {beta: "true"},
53
54
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_APPS_CHAT_PROJECTS_LIST,
54
55
  span_route: "/v1/organizations/analytics/apps/chat/projects",
55
56
  span_query: %w[date ending_date filter group_by limit order order_by page starting_date],
56
57
  method: :get,
57
- path: "v1/organizations/analytics/apps/chat/projects?beta=true",
58
+ path: "v1/organizations/analytics/apps/chat/projects",
58
59
  query: query,
59
60
  page: Anthropic::Internal::PageCursor,
60
61
  model: Anthropic::Beta::Organization::BetaAnalyticsProjectActivity,
@@ -38,11 +38,12 @@ module Anthropic
38
38
  parsed, options = Anthropic::Beta::Organization::Analytics::ArtifactListParams.dump_request(params)
39
39
  query = Anthropic::Internal::Util.encode_query_params(parsed)
40
40
  @client.request(
41
+ qualifiers: {beta: "true"},
41
42
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_ARTIFACTS_LIST,
42
43
  span_route: "/v1/organizations/analytics/artifacts",
43
44
  span_query: %w[date filter group_by limit page],
44
45
  method: :get,
45
- path: "v1/organizations/analytics/artifacts?beta=true",
46
+ path: "v1/organizations/analytics/artifacts",
46
47
  query: query,
47
48
  page: Anthropic::Internal::PageCursor,
48
49
  model: Anthropic::Beta::Organization::BetaAnalyticsArtifactActivity,
@@ -49,12 +49,13 @@ module Anthropic
49
49
  parsed, options = Anthropic::Beta::Organization::Analytics::ConnectorListParams.dump_request(params)
50
50
  query = Anthropic::Internal::Util.encode_query_params(parsed)
51
51
  @client.request(
52
+ qualifiers: {beta: "true"},
52
53
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_CONNECTORS_LIST,
53
54
  span_route: "/v1/organizations/analytics/connectors",
54
55
  span_query: %w[date ending_date filter group_by limit order order_by page starting_date],
55
56
  span_content_query: %w[filter],
56
57
  method: :get,
57
- path: "v1/organizations/analytics/connectors?beta=true",
58
+ path: "v1/organizations/analytics/connectors",
58
59
  query: query,
59
60
  page: Anthropic::Internal::PageCursor,
60
61
  model: Anthropic::Beta::Organization::BetaAnalyticsConnectorActivity,
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Resources
5
+ class Beta
6
+ class Organization
7
+ class Analytics
8
+ class Cost
9
+ # Get cost in USD across a date range, broken out by dimension.
10
+ #
11
+ # Returns one row per combination of the requested `group_by[]` dimensions (and
12
+ # time bucket, when `time_bucket_width` is set) that has cost in the range, ranked
13
+ # by spend or ordered by time bucket; every combination is returned across pages.
14
+ # With no `group_by[]` and no `time_bucket_width`, a single row aggregates the
15
+ # whole range. Includes all cost, whether or not it is attributable to a seat
16
+ # user. Requires an API key with the `read:analytics` scope, or an Admin API key.
17
+ #
18
+ # Some parameter documentations has been truncated, see
19
+ # {Anthropic::Models::Beta::Organization::Analytics::CostListParams} for more
20
+ # details.
21
+ #
22
+ # @overload list(starting_at:, actor_ids: nil, actor_types: nil, agent_ids: nil, api_key_ids: nil, claude_tag_categories: nil, claude_tag_user_ids: nil, context_windows: nil, deployment_ids: nil, ending_at: nil, environment_ids: nil, exclude_deleted_users: nil, group_by: nil, inference_geos: nil, limit: nil, models: nil, order: nil, order_by: nil, page: nil, products: nil, rbac_group_ids: nil, service_tiers: nil, session_ids: nil, slack_channel_ids: nil, speeds: nil, time_bucket_width: nil, user_profile_ids: nil, workspace_ids: nil, betas: nil, request_options: {})
23
+ #
24
+ # @param starting_at [Time] Query param: Start of range, inclusive. RFC 3339 tz-aware. Must be within the la
25
+ #
26
+ # @param actor_ids [Array<String>, nil] Query param: Filter to usage attributed to specific identities, by tagged ID: a
27
+ #
28
+ # @param actor_types [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsActorType>, nil] Query param: Filter to usage attributed to specific kinds of identity. Use `grou
29
+ #
30
+ # @param agent_ids [Array<String>, nil] Query param: Filter to usage incurred by sessions of specific Claude Managed Age
31
+ #
32
+ # @param api_key_ids [Array<String>, nil] Query param: Filter to usage authenticated by specific API keys, by tagged API k
33
+ #
34
+ # @param claude_tag_categories [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsClaudeTagCategory>, nil] Query param: Filter to Claude Tag (Claude in Slack) usage in specific spend cate
35
+ #
36
+ # @param claude_tag_user_ids [Array<String>, nil] Query param: Filter to Claude Tag (Claude in Slack) usage attributed to specific
37
+ #
38
+ # @param context_windows [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsContextWindow>, nil] Query param: Filter to specific context-window pricing tiers. Use `group_by[]=co
39
+ #
40
+ # @param deployment_ids [Array<String>, nil] Query param: Filter to usage incurred by Claude Managed Agents sessions that spe
41
+ #
42
+ # @param ending_at [Time, nil] Query param: End of range, exclusive. Required when `time_bucket_width` is set.
43
+ #
44
+ # @param environment_ids [Array<String>, nil] Query param: Filter to usage incurred by Claude Managed Agents sessions that ran
45
+ #
46
+ # @param exclude_deleted_users [Boolean] Query param: If true, omit rows whose `actor` is a `user_actor` with `deleted: t
47
+ #
48
+ # @param group_by [Array<Symbol, Anthropic::Models::Beta::Organization::Analytics::BetaAnalyticsCostGroupBy>, nil] Query param: Dimensions to break cost out by (at most 5, not counting `cost_type
49
+ #
50
+ # @param inference_geos [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsInferenceGeoFilter>, nil] Query param: Filter to specific inference regions. `not_available` matches rows
51
+ #
52
+ # @param limit [Integer] Query param: Number of rows per page (1-1000, default 20). `cost_type`/`token_ty
53
+ #
54
+ # @param models [Array<String>, nil] Query param: Models to include. Defaults to all models. Use `group_by[]=model` t
55
+ #
56
+ # @param order [Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsUsageCostSortOrder] Query param: Sort direction of the `order_by` metric, or of the time buckets whe
57
+ #
58
+ # @param order_by [Symbol, Anthropic::Models::Beta::Organization::Analytics::BetaAnalyticsCostOrderBy] Query param: Row order. A metric ranks rows by that metric in the `order` direct
59
+ #
60
+ # @param page [String, nil] Query param: Opaque cursor from a previous response's `next_page` field.
61
+ #
62
+ # @param products [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsUsageCostProductFilter>, nil] Query param: Product surfaces to include. Defaults to all products.
63
+ #
64
+ # @param rbac_group_ids [Array<String>, nil] Query param: Filter to usage attributed to specific RBAC groups. Accepts tagged
65
+ #
66
+ # @param service_tiers [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsServiceTier>, nil] Query param: Filter to specific service tiers. Use `group_by[]=service_tier` to
67
+ #
68
+ # @param session_ids [Array<String>, nil] Query param: Filter to usage incurred by specific Claude Managed Agents sessions
69
+ #
70
+ # @param slack_channel_ids [Array<String>, nil] Query param: Filter to usage originating from specific Slack channels. Use `grou
71
+ #
72
+ # @param speeds [Array<Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsSpeed>, nil] Query param: Filter to fast or standard inference mode. Use `group_by[]=speed` t
73
+ #
74
+ # @param time_bucket_width [Symbol, Anthropic::Models::Beta::Organization::BetaAnalyticsTimeBucketWidth, nil] Query param: Time-bucket granularity. When set, rows are returned per time bucke
75
+ #
76
+ # @param user_profile_ids [Array<String>, nil] Query param: Filter to usage attributed to specific user profiles, by tagged use
77
+ #
78
+ # @param workspace_ids [Array<String>, nil] Query param: Filter to usage in specific workspaces, by tagged workspace ID (`wr
79
+ #
80
+ # @param betas [Array<Symbol, String, Anthropic::Models::AnthropicBeta>] Header param: This endpoint is in beta: requests must send `analytics-usage-cost
81
+ #
82
+ # @param request_options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil]
83
+ #
84
+ # @return [Anthropic::Internal::ReportPageCursor<Anthropic::Models::Beta::Organization::Analytics::BetaAnalyticsCostItem>]
85
+ #
86
+ # @see Anthropic::Models::Beta::Organization::Analytics::CostListParams
87
+ def list(params)
88
+ query_params =
89
+ [
90
+ :starting_at,
91
+ :actor_ids,
92
+ :actor_types,
93
+ :agent_ids,
94
+ :api_key_ids,
95
+ :claude_tag_categories,
96
+ :claude_tag_user_ids,
97
+ :context_windows,
98
+ :deployment_ids,
99
+ :ending_at,
100
+ :environment_ids,
101
+ :exclude_deleted_users,
102
+ :group_by,
103
+ :inference_geos,
104
+ :limit,
105
+ :models,
106
+ :order,
107
+ :order_by,
108
+ :page,
109
+ :products,
110
+ :rbac_group_ids,
111
+ :service_tiers,
112
+ :session_ids,
113
+ :slack_channel_ids,
114
+ :speeds,
115
+ :time_bucket_width,
116
+ :user_profile_ids,
117
+ :workspace_ids
118
+ ]
119
+ parsed, options = Anthropic::Beta::Organization::Analytics::CostListParams.dump_request(params)
120
+ query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
121
+ @client.request(
122
+ qualifiers: {beta: "true"},
123
+ span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_COST_LIST,
124
+ span_route: "/v1/organizations/analytics/cost",
125
+ span_query: %w[
126
+ actor_ids
127
+ actor_types
128
+ agent_ids
129
+ api_key_ids
130
+ claude_tag_categories
131
+ claude_tag_user_ids
132
+ context_windows
133
+ deployment_ids
134
+ ending_at
135
+ environment_ids
136
+ exclude_deleted_users
137
+ group_by
138
+ inference_geos
139
+ limit
140
+ models
141
+ order
142
+ order_by
143
+ page
144
+ products
145
+ rbac_group_ids
146
+ service_tiers
147
+ session_ids
148
+ slack_channel_ids
149
+ speeds
150
+ starting_at
151
+ time_bucket_width
152
+ user_profile_ids
153
+ workspace_ids
154
+ ],
155
+ method: :get,
156
+ path: "v1/organizations/analytics/cost",
157
+ query: query,
158
+ headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
159
+ page: Anthropic::Internal::ReportPageCursor,
160
+ model: Anthropic::Beta::Organization::Analytics::BetaAnalyticsCostItem,
161
+ options: {extra_headers: {"anthropic-beta" => "analytics-usage-cost-2026-08-24"}, **options}
162
+ )
163
+ end
164
+
165
+ # @api private
166
+ #
167
+ # @param client [Anthropic::Client]
168
+ def initialize(client:)
169
+ @client = client
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
@@ -6,12 +6,19 @@ module Anthropic
6
6
  class Organization
7
7
  class Analytics
8
8
  class CostReport
9
- # Get cost in USD over time across a date range.
9
+ # [Legacy] Get cost in USD over time across a date range.
10
10
  #
11
- # Returns cost bucketed by minute, hour, or day, optionally broken down by
12
- # product, model, context window, inference region, speed, cost type, or token
13
- # type. Available to organizations on a Claude Enterprise plan. Requires an API
14
- # key with the `read:analytics` scope.
11
+ # Returns cost bucketed by minute, hour, or day, optionally broken down by one or
12
+ # more `group_by[]` dimensions, such as model or cost type. Available to
13
+ # organizations on a Claude Enterprise plan. Requires an API key with the
14
+ # `read:analytics` scope.
15
+ #
16
+ # This endpoint is one of the legacy Claude Enterprise usage and cost reports. For
17
+ # new integrations, use
18
+ # [`GET /v1/organizations/analytics/cost`](/docs/en/api/beta/organization/analytics/cost/list)
19
+ # in the Usage and Cost Analytics API instead. To move an existing integration,
20
+ # see
21
+ # [Migrate from the Claude Enterprise usage and cost reports](/docs/en/manage-claude/usage-cost-analytics-api#migrate-from-enterprise-analytics-reports).
15
22
  #
16
23
  # Some parameter documentations has been truncated, see
17
24
  # {Anthropic::Models::Beta::Organization::Analytics::CostReportListParams} for
@@ -60,6 +67,7 @@ module Anthropic
60
67
  parsed, options = Anthropic::Beta::Organization::Analytics::CostReportListParams.dump_request(params)
61
68
  query = Anthropic::Internal::Util.encode_query_params(parsed)
62
69
  @client.request(
70
+ qualifiers: {beta: "true"},
63
71
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_COST_REPORT_LIST,
64
72
  span_route: "/v1/organizations/analytics/cost_report",
65
73
  span_query: %w[
@@ -81,7 +89,7 @@ module Anthropic
81
89
  user_ids
82
90
  ],
83
91
  method: :get,
84
- path: "v1/organizations/analytics/cost_report?beta=true",
92
+ path: "v1/organizations/analytics/cost_report",
85
93
  query: query,
86
94
  page: Anthropic::Internal::ReportPageCursor,
87
95
  model: Anthropic::Beta::Organization::BetaAnalyticsCostReportTimeBucket,
@@ -52,12 +52,13 @@ module Anthropic
52
52
  parsed, options = Anthropic::Beta::Organization::Analytics::PluginListParams.dump_request(params)
53
53
  query = Anthropic::Internal::Util.encode_query_params(parsed)
54
54
  @client.request(
55
+ qualifiers: {beta: "true"},
55
56
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_PLUGINS_LIST,
56
57
  span_route: "/v1/organizations/analytics/plugins",
57
58
  span_query: %w[date ending_date filter group_by limit order order_by page starting_date],
58
59
  span_content_query: %w[filter],
59
60
  method: :get,
60
- path: "v1/organizations/analytics/plugins?beta=true",
61
+ path: "v1/organizations/analytics/plugins",
61
62
  query: query,
62
63
  page: Anthropic::Internal::PageCursor,
63
64
  model: Anthropic::Beta::Organization::BetaAnalyticsPluginActivity,
@@ -47,12 +47,13 @@ module Anthropic
47
47
  parsed, options = Anthropic::Beta::Organization::Analytics::SkillListParams.dump_request(params)
48
48
  query = Anthropic::Internal::Util.encode_query_params(parsed)
49
49
  @client.request(
50
+ qualifiers: {beta: "true"},
50
51
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_SKILLS_LIST,
51
52
  span_route: "/v1/organizations/analytics/skills",
52
53
  span_query: %w[date ending_date filter group_by limit order order_by page starting_date],
53
54
  span_content_query: %w[filter],
54
55
  method: :get,
55
- path: "v1/organizations/analytics/skills?beta=true",
56
+ path: "v1/organizations/analytics/skills",
56
57
  query: query,
57
58
  page: Anthropic::Internal::PageCursor,
58
59
  model: Anthropic::Beta::Organization::BetaAnalyticsSkillActivity,
@@ -43,11 +43,12 @@ module Anthropic
43
43
  parsed, options = Anthropic::Beta::Organization::Analytics::SummaryListParams.dump_request(params)
44
44
  query = Anthropic::Internal::Util.encode_query_params(parsed)
45
45
  @client.request(
46
+ qualifiers: {beta: "true"},
46
47
  span_name: Anthropic::Internal::Tracing::SpanName::ORGANIZATION_ANALYTICS_SUMMARIES_LIST,
47
48
  span_route: "/v1/organizations/analytics/summaries",
48
49
  span_query: %w[ending_date filter limit page starting_date],
49
50
  method: :get,
50
- path: "v1/organizations/analytics/summaries?beta=true",
51
+ path: "v1/organizations/analytics/summaries",
51
52
  query: query,
52
53
  page: Anthropic::Internal::PageCursor,
53
54
  model: Anthropic::Beta::Organization::BetaAnalyticsSingleDayActivitySummary,